首先来说等号
==是比较运算符,它既可以判断基本类型,又可以判断引用类型
1.如果==用于判断基本类型,其本质是判断值是否相等
2.如果==用于判断引用类型,其本质是判断地址是否相等(判断是不是同一个对象)
以下是引用类型的例子
package com.exerciese.object;
public class Main {
public static void main(String[] args){
T t = new T();
T t1 = t;
T t2 = t1;
System.out.println(t1==t);//始终输出true
System.out.println(t1==t2);//始终输出true
}
}
class T{
}
现在来看equals
equals只能判断引用类型,其中默认判断的是地址是否相等,子类往往重写该方法,用于判断内容是否相等
还可以指针移到Integer,String点击左键来查看源码,在结构中找到equals来查看判断什么