8
有沒有辦法來檢測Java中的兩個對象是否彼此混疊?在C中,我想我們可以檢查兩個指針指向的內存地址。但有沒有辦法在Java中做到這一點?有沒有辦法檢查兩個對象在Java中是否是別名?
有沒有辦法來檢測Java中的兩個對象是否彼此混疊?在C中,我想我們可以檢查兩個指針指向的內存地址。但有沒有辦法在Java中做到這一點?有沒有辦法檢查兩個對象在Java中是否是別名?
在java中,變量是引用,因此您可以使用==
來比較它們以查看它們是否引用同一個對象。
Object a = ...
Object b = a;
boolean areSame = (a == b); //Will be true.
if (obj1 == obj2) {
// both refrences are pointing to same object
}
如果什麼類覆蓋了equals方法? – JRR 2012-07-09 13:37:10
+1,簡明扼要的答案,希望我可以不止一次地upvote。 :) – astay13 2012-07-09 13:38:09
如果你想比較實際的對象,你必須顯式調用'.equals()'。 '=='將總是比較對象的引用。 – Oleksi 2012-07-09 13:38:20