java开发规范(转载)
来源:互联网 发布:手机qq监视器软件 编辑:程序博客网 时间:2024/06/13 06:17
1.不要使用一个常量类维护所有常量,应该按常量功能进行归类
2.序列化类新增属性时,请不要修改serialVersionUID字段,避免反序列失败;如果完全不兼容升级,避免反序列化混乱,那么请修改serialVersionUID
3.对象的clone方法默认是浅拷贝,若想实现深拷贝需要重写clone方法实现属性对象的拷贝
4.类非static成员变量并且与子类共享,必须为protected;
类非static成员变量并且仅在本类使用,必须是private;
类static成员变量如果仅在本类使用,必须是private
5.只要重写equals,就必须重写hashcode;set存储的是不重复的对象,依据hashcode和equals进行判断,所以set存储的对象必须重写这两个方法;如果自定义对象作为map的键,那么必须重写hashcode和equals
6.ArrayList的subList结果不可强转成ArrayList,否则会抛出ClassCastException异常:subList返回的是ArrayList的内部类SubList,不是ArrayList,而是ArrayList的一个试图,对于SubList子列表的所有操作最终会反映到原列表上
7.使用集合转数组的方法,必须使用集合的toArray(T[] array),传入的是类型完全一样的数组,大小是list.size();
直接使用toArray无参方法存在问题,此方法返回值只能是Object[]类,若强转其他类型数组将出现ClassCastException错误;
使用toArray带参方法,入参分配的数组空间不够大时,toArray方法内部将重新分配内存空间,并返回新数组地址,因此最好将方法入参数组大小定义与集合个数一致
8.asList的返回对象是一个Arrays内部类,并没有实现集合的修改方法,体现的是适配器模式,只是转换借口,后天的数据仍然是数组
9.泛型通配符<? extends T>来接收返回的数据,此写法的泛型集合不能使用add方法:苹果装箱后返回一个<? extends Fruits>对象,此对象就不能往里加任何水果,包括苹果
10.不要在foreach循环里进行元素的remove/add操作,remove请使用iterator,如果并发操作,需要对iterator对象加锁
- java开发规范(转载)
- java开发规范(转载)
- (转载)oracle开发规范
- JAVA编程规范(转载)
- Java注释规范(转载)
- [转载] JAVA 编程规范
- [转载]JAVA编程规范
- Java注释规范[转载]
- java编程规范{转载}
- 项目开发规范(Java)
- Java开发规范(一)
- Java开发规范(二)
- Java开发规范(三)
- 简单web开发规范(转载)
- 开发规范: JAVA代码规范
- java基础之Java变量命名规范 (转载)
- java基础之Java变量命名规范 (转载)
- [转载]java中的注释规范
- Javadoc注释规范
- 2016腾讯软件开发面试试题
- 开始学习Linux内核了
- 写python使用IDLE如何实现调试功能
- 刷新验证码
- java开发规范(转载)
- 如何写Java文档注释(Java Doc Comments)
- 【PAT】1056. Mice and Rice
- 格式化输入输出处理16进制的问题
- Weekly Conclusion : Linux
- PCA的数学原理(非常值得阅读)!!!!
- Linux Data Structure
- unknown的实现遇到问题了
- java堆栈学习