基本上,當我嘗試使用.equals將類與字符串進行比較時,它始終返回false。Java:如何將字符串與toString()的返回進行比較
例如:
myClass.java
public String toString()
{
return "Apple";
}
main.java
System.out.println(myClass.equals("Apple"));
將打印 「假」。
我應該用什麼來比較myClass和字符串?
基本上,當我嘗試使用.equals將類與字符串進行比較時,它始終返回false。Java:如何將字符串與toString()的返回進行比較
例如:
myClass.java
public String toString()
{
return "Apple";
}
main.java
System.out.println(myClass.equals("Apple"));
將打印 「假」。
我應該用什麼來比較myClass和字符串?
你需要重寫定義形成Object類:
@Override
public String toString() {
return "Apple";
}
,然後比較
System.out.println(myClass.toString().equals("Apple"));
其中myClass
應使用code conventions一個的MyClass
實例。
你應該調用toString,而不是直接class。
myClass mc= new myClass();
if(mc.toString().equals("Apple"){
}
順便說一句,Java類名稱以Capitals開頭。例如。 MyClass
我的實際類確實以captial開頭,這只是一個匆忙輸入的示例(對不起)。 這個作品謝謝!你知道我爲什麼需要這樣做,但是如果我打印課程,它會打印「Apple」? – Dasonic
打印時,它會自動調用.toString(),但不會在其他位置調用。 –
我認爲toString會被自動調用的錯誤。
對於任何人想知道:
System.out.println(myClass.toString().equals("Apple"));
試試這個辦法...對我的作品很好..
@Override
public String toString() {
return "Address: " + address+ ", streetName=" + stName ;
}
你實際上可以實現相當於 -
public boolean equals(Object object) {
if(object instanceof String) {
return ((String)object).equals(mName);
}
return false;
}
MNAME是包含其名稱的類的成員。
'myClass.toString()。equals(「Apple」)'。 –
你想要比較什麼?課堂名稱或其他? 請用實例詳細說明,哪種情況是真的,哪種情況是錯誤的。 – Nin
覆蓋方法'toString()'和'equals()'然後使用equal()進行比較 –