随笔
浅拷贝和深拷贝
慎用 Object 的 clone 方法来拷贝对象。
阿里巴巴Java开发手册
class Student{
private String id;
private String name;
}
- 当只有一层的时候浅拷贝=深拷贝
- 当有多层的时候浅拷贝只拷贝第一层
关于 hashCode 和 equals 的处理
【强制】关于 hashCode 和 equals 的处理,遵循如下规则: 1) 只要重写 equals,就必须重写 hashCode。 2) 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的 对象必须重写这两个方法。 3) 如果自定义对象做为 Map 的键,那么必须重写 hashCode 和 equals。 正例:String 重写了 hashCode 和 equals 方法,所以我们可以非常愉快地使用 String 对象 作为 key 来使用。
阿里巴巴Java开发手册