1.“==”与“equals”的区别
- "=="用于判断对象是否为同一个对象(基本数据类型比较值相等,引用数据类型比较对象地址是否相等)
- equals()的比较存在两种情况:
- 类没有重写equals()方法时,等价于"==";
- 类重写equals()方法时,要依据重写方法内容而定,大部分情况会按照值判定,即对象储存的值相同就会返回”true"。
例子如下:
public class test1 {
public static void main(String[] args) {
String a = new String("ab"); // a 为一个引用
String b = new String("ab"); // b为另一个引用,对象的内容一样
String aa = "ab"; // 放在常量池中
String bb = "ab"; // 从常量池中查找
if (aa == bb) // true
System.out.println("aa==bb");
if (a == b) // false,非同一对象
System.out.println("a==b");
if (a.equals(b)) // true
System.out.println("aEQb");
if (42 == 42.0) {