【工作效率】Java API使用以及擴充套件
前幾天在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文件中查
這是Java 官網上對所有API文件的一個集合,根據你的java語言版本,選擇對應的api文件,進行下載,建議在這裡下載英文最新版本的API文件,用第一手的文件去參考,效率非常之高。
之後去搜索就好!
(2)將API文件繫結到IDE中
這裡我搜到了一個辦法,就不重複造輪子了,放連結:
最終達到的效果如圖:
醬紫,就可以在程式設計的時候,遇到匯入的專案,如果有不懂的方法,滑鼠游標落到一個程式碼上,就可以便捷檢視它的說明了。
--------------------華麗的分割線---------------------
之後給網友安利一個網站:
介面如圖:
這是個神奇的網站,當你輸一個不會用的技術點時,比如“jdbc”:
如上,會有各種框架中對於JDBC的使用的"Demo",沒錯,你沒有聽錯,是demo!!!
比如:
這就是這個網站的神奇之處,對於不會用的方法,通過查詢demo的使用,就能夠得心應手的使用這個技術點或者方法,同時請注意:
在上面Example下面有一段話:“Project:EECE496 File:jdbcNonceVerifier.java
此外更好的一點就是,不止可以搜尋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:最後推薦一個腦洞大開的視訊節目:“瞎看什麼”,想知道他演的是啥,搜搜啊!!!