【工作效率】Java API使用以及扩展

来源:互联网 发布:网络兼职 知乎 编辑:程序博客网 时间:2024/06/07 01:23

        前几天在EJB学习的时候,遇到了一段不理解的代码:

public BigDecimal dollarToYen(BigDecimal dollars) {BigDecimal result = dollars.multiply(yenRate);return result.setScale(2, BigDecimal.ROUND_UP);}
         如上,对于Decimal类型的dollars,有一个multiply方法,小编并不是很清楚这个方法的作用,怎么办?


         查API啊!

         之前遇到这样的问题,就会像“大海捞针 ”地去网上逛各种博客,最近和Bill身上确实学到了好多好习惯,就比如获取第一手的资料然后研究学习,就是其中之一。

         (1)手动去API文档中查

         API文档有在线版和离线版之分,也有中文和英文之分,其实我是不应该放链接的:http://www.oracle.com/technetwork/java/api-141528.html  界面如下:

   
        这是Java 官网上对所有API文档的一个集合,根据你的java语言版本,选择对应的api文档,进行下载,建议在这里下载英文最新版本的API文档,用第一手的文档去参考,效率非常之高。

       之后去搜索就好!


      (2)将API文档绑定到IDE中

        这里我搜到了一个办法,就不重复造轮子了,放链接:

        http://jingyan.baidu.com/article/47a29f242ac50bc0142399ac.html

        最终达到的效果如图:

          

         酱紫,就可以在编程的时候,遇到导入的项目,如果有不懂的方法,鼠标光标落到一个代码上,就可以便捷查看它的说明了。


        --------------------华丽的分割线---------------------

        之后给网友安利一个网站:

        http://www.programcreek.com/java-api-examples/

        界面如图:

            

          这是个神奇的网站,当你输一个不会用的技术点时,比如“jdbc”:    

        如上,会有各种框架中对于JDBC的使用的"Demo",没错,你没有听错,是demo!!!

        比如:

    

       这就是这个网站的神奇之处,对于不会用的方法,通过查询demo的使用,就能够得心应手的使用这个技术点或者方法,同时请注意:

       在上面Example下面有一段话:“Project:EECE496 File:jdbcNonceVerifier.java”,这是这个demo的出处,点击“View source code”,你就能够找到如上使用jdbc这段开源代码的原出处,并且结合其他代码,做整体的学习。是不是非常方面!!!

        此外更好的一点就是,不止可以搜索JDK自带的类,还可以搜索更多第三方流行的类的用法,比如我想搜索AsyncHBase的一个主要的类的用法,我可以输入org.hbase.async.HBaseClient,你可以看到一堆例子,就是一个代码片段,每个片段都会标明是从哪个项目中摘录的,并且会标明具体的路径和源文件,这个网站应该是有一个爬虫系统来进行搜集和整理的吧。

        

      (3)对API中最为常用的几个函数编个小故事

        就像在博客开头的那段代码:

public BigDecimal dollarToYen(BigDecimal dollars) {BigDecimal result = dollars.multiply(yenRate);return result.setScale(2, BigDecimal.ROUND_UP);}
        当我查询后得知了"ROUND_UP"以及"ROUND_DOWN"的含义之后,含义如下:

        ROUND_DOWN,是一个舍位取值的概念,我保留了两位小数,我不管你后面的小数值如何,也不会四舍五入,就硬生生的给阶段,相当于什么呢,就是我从小数点后面开始取两位,两位后面的都不要了,相当于一个截取字符串的操作。
        而ROUND_UP那,很宽容,很大方,我不管你第三位的小数是多少,我都给你加一最小单位(比如保留两位小数,最小单位是0.01,保留三位小数,最小单位就是0.001),当然了,你保留到最后一位的数字如果是0的话,那么就不加了。


        这明明就是生活中两个活生生的例子啊!!!

        (1)一个篮子可以装10个苹果,现在有82个苹果,需要几个篮子来装?
9个,对,这是咱们的什么结果,不正是ROUND_UP的么(只不过这道题是取小数点后0位,也就是取整的区别而已),也就很好解释为什么最小单位是0不需要再加一个最小单位了,如果我只有80个苹果,8个篮子正好装下,就不需要第九个了。

       (2)每个加油站相距8公里,一公里需要耗一个油,我现在车里还有90个油,请问,我最晚在第几个加油站必须得加油了?
11个,第十一个,就是在车使用88个油到达第11个加油站后需要加油,因为我还剩2个由已经撑不到第12个加油站了。这种情况,ROUND_DOWN就派上用场了。
        把API中之前不熟悉的类、方法,多去想一步,回归到生活,就很好理解啦!!! 


        对于Java学习过程中API的使用小技巧,就总结到这里。

        That's all.


        Addition:最后推荐一个脑洞大开的视频节目:“瞎看什么”,想知道他演的是啥,搜搜啊!!!

原创粉丝点击