你應該寫
if (!doglist.get(g).equals(name))
關於您使用!=
的想法:對於基本數據類型,是的,它是正確的測試平等使用!=
。 .equals()
用於對象數據類型。然而,對一個對象應用!=將測試操作數的內存位置是否相同,這不是相關信息。 .equals()
是測試對象是否實際相等的測試。
例如,比較int
S(基本類型)時,你可以使用!=
:
int a = 0, b = 1;
if (a != b) doSomething(); //Calls the method
基本類型不承認.equals()方法在所有。但是,如果你想比較String
S(對象類型),你可以使用!<object>.equals()
:
String s1 = "Hello", s2 = "World";
if (!s1.equals(s2)) doSomething(); //Calls the method
如果一個對象使用!=
,它會編譯,但可能不會產生所需的輸出:
String s1 = "Hello!";
String s2 = "Hello!"; //Make a new object with the same data -- contains "Hello!"
if (s1 != s2) doSomething(); //Will run doSomething(), even though s1.equals(s2)
嗨Nanabua,歡迎來到SO。請閱讀[問]和[答案]。你的問題很好,所以你不需要做任何事情來解決它。 –
您是否要求輸入代碼以顯示列表中沒有名稱屬性等於給定名稱的狗? – Gus