Java 基础
对象相等判断
== 和 equals 区别是什么?
- == 比较的是内存地址是否一样
- equals 比较的是两个对象的内容是否相同
为什么重写 equals() 方法必须重写 hashCode() 方法 ?
如果只重写了 equals 方法,可能会导致, equals 方法返回 true,但是 hashCode() 方法的返回值不一致。在哈希表中可能会导致相同的对象被散列到不同的位置。
String 为什么要设计成不可变的?
1.字符串常量池的需要 2.使多线程安全 3.避免安全问题(例如:数据库链接地址是一个字符串,避免被黑客修改为其他)
字符型常量和字符串常量的区别?
字符串由字符数组实现。