扬州网站建设公元国际,开发商城微信小程序,外贸网站 cms,英文网站建设目的那些已经阅读了有效Java 第三版的人可能知道与该书相关的源代码可以在GitHub上获得 。 jbloch / efficiency-java-3e-source-code项目拥有1700多个星星#xff0c;截至撰写本文时#xff0c;它已被分叉了近800次。 在有效Java的第三版中#xff0c; Java的版本主要是JDK 8截至撰写本文时它已被分叉了近800次。 在有效Java的第三版中 Java的版本主要是JDK 8涵盖了JDK 9有关此第三版所涵盖内容的详细信息请参阅我的早期文章 。 自有效Java第三版发布以来JDK已添加了许多功能并且以更快的6个月节奏来发布了许多新版本。 鉴于此我特别感兴趣的是在琥珀色专家邮件列表中看到RémiForax已将jbloch / effective-java-3e-source-code分叉到GitHub项目forax / effective-java-3e-source-code中。 “已经获得了有效Java第三版的源并将其更改为使用var切换表达式记录和具有类型测试模式的instanceof”。 我喜欢从“ 有效Java” 第三版中刷新示例以使用较新功能的想法 开发人员可以了解如何使用最近发布的功能来应用有效的Java实践。 开发人员可以查看JDK 8/9版本与较新版本之间的差异以了解新构造如何替换较旧的构造从而更好地理解较新的构造。 在确定在特定情况下使用新结构的特定更改是否真正有助于代码可读性时查看一些更改很有用。 分叉的forax / effective-java-3e-source-code README.md 的主页上指出“源代码已更新为使用自Java 9第三版使用的版本以来可用的新结构。” 然后该页面提供了关于应用于源代码的新构造类型的项目符号并提供了指向每个新构造相关的JDK增强建议JEP的链接。 撰写本文时 提交275eef87e4661f7f1edc41f4730cecf7a1096a97是主要的关注事项。 它涵盖对113个文件的更改。 我将在此处指出一些具体的更改以说明所应用的更改的类型其中一些是应用甚至在JDK 9之前可用的首选构造 NutritionFacts.java 第2章第2项 从类更改为记录 。 PickTwo.java 第5章项目32的更改演示了开关表达式 。 CaseInsenstiveString.java 第3章项目10的更改演示了类型测试模式的instanceof的应用。 WordList.java 第3章第14项已更改为利用局部类型推断将var应用于变量声明。 这些更改很多但这是我喜欢的更改。 我不相信其他地方的某些更改例如将int更改为var 是否有帮助。 InstrumentedSet的更改 第4章第18项更具吸引力。 更改为RecursiveTypeBound.java 第5章项目31演示了在for循环中使用var 。 Copy.copy方法第2章第9项已更改为接受Path实例而不是String实例并更改为分别使用Files.newInputStream和Files.newOutputStream代替new FileInputStream和new FileOutputStream 。 结论 能够查看与有效Java第三版相关的原始源代码的更改以适应新的语言结构这对于了解新结构及其与旧结构的关系或如何替换以及确定是否存在差异非常有用。在不同情况下是可取的。 翻译自: https://www.javacodegeeks.com/2020/02/source-code-for-effective-java-third-edition-updated-to-use-newer-features.html