1、== 是个操作符
==操作符专门用来计较变量的值是否相同
- 基本数据类型: 比较的是他们的值是否相同;
其中基本数据类型包括
整数:byte、short、int、long;
小数: float、double;
字符型: char;
布尔: boolean。 - 引用数据类型: 比较的是他们的内存地址是否相同;
其中引用数据类型一般包含 数组、类、接口。
引用类型对象变量其实是一个引用, 他们的值指向对象所在的内存地址, 而不是对象本身。
2、equals()方法
equals方法常用来比较对象的内容是否相同。
java当中所有的类都是继承于Object这个超类,在Object类中定义的equals方法:
public boolean equals(Object obj){
return (this == obj);
}
-
为重写equals方法的类: Object 中的equals方法实际使用的也是==操作符, 比较的是他们的内存地址是否同一地址。
-
重写了equals方法的类: 实现该类自己的equals方法的比较逻辑(一般是比较对象的内容是否相同)。比如:
String:比较字符串的内容,内容相同就相同;
Integer:比较对应的基本数据类型int的值是否相同。