package?TelP;
public?class?TelPhone?{
//手機001
public?class?Telp1{
public?int[]?withH1=?{600,800};
public?float?cpu1=1.4f;
public?float?ram1=2.0f;
}
//手機002
public?class?Telp2{
public?int[]?withH2=?{600,800};
public?float?cpu2=1.4f;
public?float?ram2=2.0f;
}
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
TelPhone?te?=?new?TelPhone();
Telp1?te1=te.new?Telp1();
Telp2?te2=te.new?Telp2();
if(te1.equals(te2))
System.out.println("手機配置相同");
else
System.out.println("手機配置不同");
}
}
2019-01-12
你需要重寫內部類的equals方法,不然比較的只是兩個對象的引用地址(這是new的兩個對象, 引用地址都是獨自開辟的, 引用地址必然不同)。而你要比較的是兩個對象的實體數據是否一致, 所以必須重寫equals方法。
2019-08-29
telp2 不是應該創建為telp1的子類嗎? 然后在在子類里用equals方法比較。最后在man方法 用telp2再創建不同的對象進行比較?