java第三阶段源代码_有效Java第三版的源代码已更新为使用较新的功能
java第三階段源代碼
那些已經(jīng)閱讀了有效Java 第三版的人可能知道與該書相關(guān)的源代碼可以在GitHub上獲得 。 jbloch / effective-java-3e-source-code項目擁有1700多個星星,截至撰寫本文時,它已被分叉了近800次。 在有效Java的第三版中, Java的版本主要是JDK 8,涵蓋了JDK 9(有關(guān)此第三版所涵蓋內(nèi)容的詳細(xì)信息,請參閱我的早期文章 )。
自有效Java第三版發(fā)布以來,JDK已添加了許多功能,并且以更快的6個月節(jié)奏發(fā)布了許多新版本。 鑒于此,我特別感興趣的是在琥珀色專家郵件列表中看到RémiForax已將jbloch / effective-java-3e-source-code分叉到GitHub項目forax / effective-java-3e-source-code “已經(jīng)獲得了有效Java(第3版)的源,并將它們更改為使用var,切換表達(dá)式,記錄和具有類型測試模式的instanceof。”
我喜歡從“ 有效Java” (第三版)中刷新示例以使用較新功能的想法:
- 開發(fā)人員可以看到如何使用最近發(fā)布的功能來應(yīng)用有效的Java實踐。
- 開發(fā)人員可以查看JDK 8/9版本與較新版本之間的差異,以了解新構(gòu)造如何替換較舊的構(gòu)造,從而更好地理解較新的構(gòu)造。
- 在決定在特定情況下使用新結(jié)構(gòu)的特定更改是否真正有助于代碼可讀性時,查看某些更改很有用。
分叉的forax / effective-java-3e-source-code ( README.md )的主頁上指出:“源代碼已更新為使用自Java 9(第三版使用的版本)以來可用的新結(jié)構(gòu)。” 然后,該頁面提供了關(guān)于應(yīng)用于源代碼的新構(gòu)造類型的項目符號,并提供了指向每個新構(gòu)造相關(guān)的JDK增強建議(JEP)的鏈接。
撰寫本文時, 提交275eef87e4661f7f1edc41f4730cecf7a1096a97是主要的關(guān)注事項。 它涵蓋對113個文件的更改。 我將在此處指出一些具體的更改,以說明所應(yīng)用的更改的類型(其中一些是應(yīng)用甚至在JDK 9之前可用的首選構(gòu)造):
- NutritionFacts.java (第2章,第2項) 從類更改為記錄 。
- PickTwo.java (第5章,項目32)的更改演示了開關(guān)表達(dá)式 。
- CaseInsenstiveString.java (第3章,第10項)的更改演示了類型測試模式對instanceof的應(yīng)用。
- WordList.java (第3章,第14項) 改為申請VAR為趁著變量聲明局部類型推理 。 這些更改很多,但這是我喜歡的更改。 我不相信其他地方的某些更改(例如將int更改為var )是否有幫助。 InstrumentedSet的更改 (第4章第18項)更具吸引力。
- 更改為RecursiveTypeBound.java (第5章,項目31)演示了在for循環(huán)中使用var 。
- Copy.copy方法(第2章,第9項)已更改為接受Path實例而不是String實例,并更改為分別使用Files.newInputStream和Files.newOutputStream代替new FileInputStream和new FileOutputStream 。
結(jié)論
能夠查看與有效Java第三版相關(guān)的原始源代碼的更改,以適應(yīng)新的語言結(jié)構(gòu),這對于了解新結(jié)構(gòu)及其與舊結(jié)構(gòu)的關(guān)系或如何替換以及確定是否存在差異非常有用。在不同情況下是可取的。
翻譯自: https://www.javacodegeeks.com/2020/02/source-code-for-effective-java-third-edition-updated-to-use-newer-features.html
java第三階段源代碼
總結(jié)
以上是生活随笔為你收集整理的java第三阶段源代码_有效Java第三版的源代码已更新为使用较新的功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑内存品牌都有哪些(电脑内存品牌排行榜
- 下一篇: java美元兑换,(Java实现) 美元