Equals方法
Equals方法1
java中一般情況下,不可以再用==來比較是否相等的情況(因為這樣比較的是物件的記憶體地址,而不是物件中的具體屬性),而是用Equals方法來比較,Equals方法屬於Object類並且不是final型別,所以任何類都可以繼承並且覆蓋該方法。
Equals方法2
Equals方法在一般情況下都需要覆蓋成自己想要的方法而且配合多型可以實現強大的“比較”功能可以根據比較類中的任何資料,可以根據自己的需求來定義兩個物件是否相等的條件。
public class Test1 {
public static void main(String[] args){
B b1=new B(20);
B b2=new B(20);
System.out.println(b1==b2);
System.out.println(b1.equals(b2));
}
}
class B{
private int i;
B(int i){
this.i=i;
}
}
public class Test1 {
public static void main(String[] args){
B b1=new B(20);
B b2=new B(20);
System.out.println(b1.equals(b2));
}
}
class B{
private int i;
B(int i){
this.i=i;
}
public boolean equals(B b2){//覆蓋後的equals方法比較的不再是兩個物件的記憶體地址,而是根據自己的需求來決定
if(this.i==b2.i){
return true;
}
else{
return false;
}
}
}
public class Test1 {
public static void main(String[] args){
B b1=new B(20);
B b2=new B(20);
//System.out.println(b1.equals(b2));
C c1=new C(100);
C c2=new C(100);
System.out.println(c1.equals(c2));
}
}
class B{
private int i;
B(int i){
this.i=i;
}
public boolean equals(B b2){
if(this.i==b2.i){
return true;
}
else{
return false;
}
}
}
class C extends B{
private int j;
C(int j){
super(j);
this.j=j;
}
public boolean equals(B b2){
C c=(C)b2;
if(this.j==c.j){
return true;
}
else{
return false;
}
}
}
相關文章
- String類中的equals方法與Object類中的equals方法的不同點Object
- ==和equals方法的比較
- ==和equals方法的區別
- String的equals和hashCode方法
- 搞懂 Java equals 和 hashCode 方法Java
- 重寫equals方法以及重寫tostring方法
- Java基礎系列-equals方法和hashCode方法Java
- 自動生成hashcode和equals方法
- 關於Java中的equals方法Java
- Java中 equals() 方法和 == 的區別Java
- BigDecimal的equals() 和 compareTo() 方法比較Decimal
- 簡單介紹java中的equals()方法Java
- Java基礎-- ==號與equals()方法的區別Java
- 【JAVA】筆記(6)--- toString方法;equals方法;finalize方法;package與import;內部類;Java筆記PackageImport
- C# 有關List<T>的Contains與Equals方法C#AI
- 將一個物件多次放入set不呼叫equals方法物件
- java為什麼要重寫hashCode和equals方法Java
- equals 和 ==
- java equalsJava
- equals & hashCode
- 物件只定義了Equals和Hashcode方法之一的漏洞物件
- J2SE-("").equals(str)與str.equals("")
- hashCode()與equals()
- equals&hashCode
- StringUtils.equals()
- Java培訓教程:”==“和 equals 方法究竟有什麼區別?Java
- Java技術分享:”==“和 equals 方法究竟有什麼區別?Java
- java基本型別和包裝型別的“==”和equals()方法Java型別
- DDD實體值物件的equals和hashcode方法實現 - wimdeblauwe物件
- ==與equals比較
- ==、equals、hashcode總結
- Java的URL.equals()方法竟然執行DNS解析| 黑客新聞JavaDNS黑客
- String.isEmpty()比"" .equals(s)或s.equals("")效能更快 - Dmytro Dumanskiy
- Java的URL.equals()方法竟然執行DNS解析| 駭客新聞JavaDNS
- 為什麼重寫 equals() 方法,一定要重寫 hashCode() 呢?| HashMapHashMap
- Java equals和==完全解析Java
- Java equals 和 == 完全解析Java
- C#之Equals與==C#