本博文为《编写高质量代码—改善Java程序的151个建议》一书的阅读笔记。该书从很多方面给予了编写高质量代码的宝贵经验。而且该书应该是那种开发经验越丰富,体会越深的书籍。在阅读过程中,从该书中收获良多,这里主要作下书籍笔记,有体会的地方加点自己的想法。受限于知识水平,部分内容还没能深刻体会,所以更多更好的内容和具体实例还需要从书中去找寻。
一、推荐使用枚举类定义常量
常量声明主要有三种方式:类常量、接口常量、枚举常量,而枚举常量与类常量、接口常量相比有如下优势:
1. 枚举常量定义更加简单直接。
2. 枚举常量属于稳态性,不要做过多校验。
3. 枚举常量具有内置方法,枚举类自带的很多方法可以简化常量的访问。
4. 枚举常量可以自定义方法,每个枚举项都该枚举的实例。 因此推荐使用枚举常量,个人觉得枚举常量在一组相关联的常量定义时非常适用。
二、使用构造函数协助描述枚举项
由于每个枚举项都是该枚举类的实例,所以在需要该枚举项需要额外描述时可以通过构造函数进行补充。
三、switch判断时小心空值异常
switch判断后面可以是枚举类型,因为判断时会调用枚举项的ordinal方法,拿到对应的序号进行判断,所以在switch判断时需要避免判断的枚举对象为空,不然会报空指针异常。
四、使用valueOf前必须进行校验
Enum.valueOf方法可以把String类型的参数转化成字面值相同的枚举项,不过需要注意当找不到相同的枚举项时转换会报出参数异常。所以在调用方法最好进行校验,判断该字面值是否存在,具体的做法可以在枚举类中实现“contains方法”。
五、@Override不同版本的区别
@Override注解用于方法的覆写上,它在编译期有效,用于校验方法是否是覆写,如果不是就报错,拒绝编译。但是这个注解在不同JDK版本中略有区别,在JDK 1.5版本中如果父类是一个接口,实现类实现了接口的具体方法,此时加@Override是会编译不通过,因为认为这不是覆写,而是实现接口方法。不过在JDK 1.6及以上的版本,这种限制放宽了,实现接口方法也可以加上@Override注解。
相关推荐
Java 第二阶段建立编程思想 【枚举和注解】---- 代码 Java 第二阶段建立编程思想 【枚举和注解】---- 代码 Java 第二阶段建立编程思想 【枚举和注解】---- 代码 Java 第二阶段建立编程思想 【枚举和注解】---- 代码 ...
内容全部由java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面,对java程序员遇到的各种棘手的疑难问题给出了经验性的解决方案,为java程序员如何编写高质量的java代码提出...
【Java基础笔记】枚举和注解.docx
内容全部由java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面,对java程序员遇到的各种棘手的疑难问题给出了经验性的解决方案,为java程序员如何编写高质量的java代码提出...
java学习笔记(11) 第11 章 - 枚举和注解(csdn)————程序
第11章枚举和注解 11.1先看一个需求 11.2分析问题 11.2.1创建Season对象有如下 特点 11.3解决方案-枚举 11.4枚举的二种实现方式 11.5自定义类实现枚举-应用案例 11.6自定义类实现枚举-小结 11.6.1小结 11.7e num...
枚举 定义 自实现枚举类 使用 enum 定义枚举类 实现接口的枚举类 枚举类的方法 注解
java 课件 数组、枚举及注解 java 课件 数组、枚举及注解 java 课件 数组、枚举及注解 java 课件 数组、枚举及注解
代码 基于枚举法离散型优化问题代码代码 基于枚举法离散型优化问题代码代码 基于枚举法离散型优化问题代码代码 基于枚举法离散型优化问题代码代码 基于枚举法离散型优化问题代码代码 基于枚举法离散型优化问题代码...
day18-xml、枚举和注解
day24_枚举_注解_反射.pdf
枚举是一种类,注解(指的是注解Annotation)是一种接口; 每个数组都是 Class字节码类中的一个具体 对象 基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示...
C++编写的枚举注册表源代码,程序所在文件名:枚举注册表程序 附有:EnumProcess[枚举进程].exe(枚举进程工具)
代码 基于0-1整数规划隐枚举法离散型优化问题代码代码 基于0-1整数规划隐枚举法离散型优化问题代码代码 基于0-1整数规划隐枚举法离散型优化问题代码代码 基于0-1整数规划隐枚举法离散型优化问题代码代码 基于0-1整数...
一、枚举类的使用: 1.枚举类的理解:类的对象只有有限个,确定的。我们称此为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类。 3.如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 二、如何定义枚举...
5-java进阶-枚举与注解1
自己总结的java枚举类和注解的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合java的爱好者和学习者
第11章 枚举_注解_内部类
·课程中,Eclipse和IDEA这两种企业一线开发环境都使用到了 3.技术讲解更深入、更全面: ·课程共30天,715个知识视频小节,涉及主流Java使用的方方面面,全而不冗余 ·全程内容涵盖数据结构、设计模式、JVM内存...
第11章 枚举_注解_内部类.docx