标签:cli ima 代码 com 区别 turn 结果 类型 oid
首先了解默认equals方法实现代码
public boolean equals(Object obj) { return (this == obj); }
1.==
(1)对于基本数据类型的变量,"=="的作用是判断左右两边的值是否相等
public class HelloWorld { public int HW=10; public static void main(String[] args) { int a=10; int b=10; System.out.println(a==b); //ture } }
(2)对于引用类型的变量,"=="的作用是判断左右两边所指向的地址是否一样
public class HelloWorld { public int HW=10; public static void main(String[] args) { HelloWorld a=new HelloWorld(); HelloWorld b=new HelloWorld(); System.out.println(a==b); //false } }
2.equals()
(1)根据equals()的实现代码可知equals()不适用于基本数据类型之间,对于引用类型的变量则和"=="结果相同
public class HelloWorld { public int HW=10; public static void main(String[] args) { HelloWorld a=new HelloWorld(); HelloWorld b=new HelloWorld(); System.out.println(a.equals(b)); //false } }
(2)如果对equals()方法进行了重写,那么就是对比值是否相等。
public class HelloWorld { public int HW=10; @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; HelloWorld other = (HelloWorld) obj; if (HW != other.HW) return false; return true; } public static void main(String[] args) { HelloWorld a=new HelloWorld(); HelloWorld b=new HelloWorld(); System.out.println(a.equals(b)); //true } }
ps: 我使用的是eclipse提供的重写。
标签:cli ima 代码 com 区别 turn 结果 类型 oid
原文地址:https://www.cnblogs.com/Coder1999/p/10849594.html