一、==是逻辑运算符
==是逻辑运算符,用于比较两个变量里的数值是否相等。
二、equals方法是根对象Object里的方法,用于判断两个对象是否相等。
所有的对象都默认继承Object对象。
源码为:
public boolean equals(Object obj) {
return (this == obj);
}
三、理解变量里的存储值
1.当变量为基本数据类型时,变量的存储值就是基本数据类型的值。
int x=10; x变量的存储值就是10
2.当变量为引用类型时,如对象、数组、接口等,变量的存储值为地址。即引用对象的地址。
Object x = new Object(); x变量里存储的是新建Object对象的地址。
所以,对于基本数据类型使用==即可判断是否相等。对于引用类型,如果使用==判断,则比较的是对象地址是否相等。
示例:
public class Test extends Object{
public static void main(String[] args) {
String x = new String("abc");
String y = new String("abc");
//引用类型:比较值(值为地址)
System.out.println("x==y "+(x==y));
//比较内容:String类重写了equals方法
System.out.println("x.equals(y) "+x.equals(y));
int a=10;
float b=10.0f;
//基本数据类型:比较值(值为10)
System.out.println("a==b "+(a==b));
}
}
输出:
x==y false
x.equals(y) true
true
String类的equals方法重写了Object类的equals方法,内容为比较字串符的内容。
如若转载,请注明出处:https://www.javaidea.cn/article/7520.html