"2021年EFFECTIVEJAVA读书笔记:枚举与注解用法总结"
184 浏览量
更新于2023-12-24
收藏 8.42MB DOCX 举报
《Effective Java》是一本关于Java编程语言最佳实践的经典著作,其中的第六章主要讨论了注解与枚举的使用。在这一章节中,作者首先强调了枚举常量的重要性,指出枚举常量具有固定常量构成合法值类型的特性,相比于使用int常量,枚举常量能够在便利性和类型安全方面提供更好的支持。
首先,作者指出使用int枚举类型存在一些问题。首先,int枚举类型的使用不具备类型安全性,因为传入错误的int常量时并不会有任何警告。其次,int枚举类型非常脆弱,一旦与枚举常量有关的int类型发生变化,客户端就必须重新编译,这带来了额外的麻烦和工作量。此外,int枚举类型无法直接打印或者遍历,也不能轻易地与字符串常量关联起来。
在这之后,作者介绍了最简朴枚举模式的使用方法。通过共有静态final域为每个枚举常量导出实例类,可以提供编译时类型安全和自动命名空间隔离,而且可以增长枚举类型常量而无需重新编译客户端代码。此外,最简朴枚举模式还可以调用toString方法将枚举常量转换成可打印字符串,并且可以添加任意方法和域,例如使用枚举常量直接获取有关数据。
在具体的使用方法方面,作者指出在将数据与枚举常量关联起来时,需要声明实例域并编写一个带有数据并将数据保存在域中的构造器。由于枚举类型天生不可变,所以所有域都必须是final,最佳设置为私有并提供公有访问方法。最后,作者通过实例代码演示了Planet.values()方法的使用,这个方法返回它值数组,并展示了如何添加新的枚举常量以及如何定义相关的数据和方法。
总的来说,枚举类型具有许多优点,包括编译时类型安全、自动命名空间隔离、可以增加常量而无需重新编译客户端代码、可以调用toString方法将枚举常量转换成可打印字符串、可以添加任意方法和域等。相比之下,int枚举类型和String枚举模式存在许多问题,包括不具备类型安全、脆弱、无法打印或遍历、性能问题和可变性差等。因此,在Java编程中,应该优先考虑使用枚举常量而不是int常量或String枚举模式,以获得更好的编程体验和更加健壮的代码。
yyyyyyhhh222
- 粉丝: 452
- 资源: 6万+
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析