[Effective Java 读书笔记] 第6章 枚举和注解
2024-10-08 09:58:35
第三十条 用enum代替int
总得来说,使用enum有几点好处
1.编译时的类型安全,
2.可以保证就是自己定义的值,不会有月结风险,
3.每个枚举类型有自己的命名空间
4.枚举可以添加任意的方法和域
5.枚举类型是final的无法实例化,也就是实例可控的。。
第三十一条 用实例域替代序数
即不要依赖枚举值得定义顺序来指定他们的值,而应该讲枚举保存在一个实例域中,类似厦门的value值:
public enum RewardType {
RMB(1),
OBJECT(2),
ZAN(3),
OTHERS(4),
NOREWARD(5);
private final int value;
private RewardType(int value){
this.value = value;
}
public int getValue(){
return value;
}
}
第三十二条 用EnumSet代替位域
EnumSet类就是用来替代位域的,即将指定的枚举值写入一个EnumSet类型里,读取出来时就知道特定的枚举值有没有被设定过
第 三十三条 用EnumMap替代序数索引
即用枚举值来做Map的key
第三十五条 注解优先于命名模式
第三十七 使用override
最新文章
- JavaScript函数的概念
- Markdown示例
- HDU 2602 (简单的01背包) Bone Collector
- Asp.Net原理Version1.0
- DataTable,DataSet,DataRow与DataView
- 全情投入是做好工作的基础——Leo鉴书39
- 《powershell 的版本号所引起的载入 FSharp 编译器问题》基本解决
- partial 的好处
- C# 让程序自动以管理员身份运行
- C语言之冒泡排序
- 【NPR】铅笔画
- 理解MySQL数据库事务
- C#嵌入动态链接库到可执行文件
- centos 6 部署Nodejs
- 七天开发进度(七)(微信小程序版(二)记账本)
- 构建SFTP服务
- 学习DRF之前
- tomcat窗口一闪而过
- 喜大普奔,SITE4J网站上线啦
- TotoriseGit安装
热门文章
- 人群密度检测MCNN+CSRnet
- laravel配置加解密
- Java框架之Spring02-AOP-动态代理-AspectJ-JdbcTemplate-事务
- poj 2689 区间素数筛
- hive 动态分区
- 成功填坑! Java引入QQ登录时,AccessToken [accessToken=, expireIn=];
- JS ES6补充
- path_info和get_full_path()的区别
- NABCD项目分析
- JUC中的原子操作类及其原理