Object o1 = new Object();
Object o2 = new Object();
//o1=o2;
System.out.println(o1.equals(o2));
它返回false
。如果評論被刪除,它可以返回true
。對Java中的String和Object使用equals()方法
爲什麼對String
類不適用同樣的東西?
String s1=new String();
String s2=new String();
System.out.println(s1.equals(s2));
它返回true
。爲什麼? (因爲String
使用實習生或其他涉及?)
除了Object類外,同樣的事情發生在我們創建的類中。爲什麼?它使用'Object'類方法嗎? – Tiny
@Tiny如果你沒有在你的類中重寫equals,它將繼承Object的equals方法。 – assylias
@Tiny因爲每個類都從Object下降。你應該爲你自己的類重寫'equals()'和'hashCode()'方法,否則它們將使用'Object'類的方法。 – ppeterka