所以我創建了一個父類:Animals
public class Animals {
private String type;
public String getType(){
return this.type;
}
}
然后我創建了不同的子類,例如擴展動物的馬、熊、狗等。
然后我創建了一個 List < Animals > 串列,它可以包含來自馬類、熊等的物件。
但是我一直在努力創建一種方法,該方法可以告訴我我的串列是否包含任何熊(來自熊類的物件)。
我嘗試了很多東西。
horse.getClass() 不回傳任何內容
如果我做一個
Horse h = new Horse();System.out.print(h instanceof Bear);
---> 它回傳 true,這是錯誤的。
- 與equals相同。
- 我還在每個子類中創建了一個 String 屬性,因此我可以比較字串,但 Java 不會以某種方式將它們讀取為字串。
我很迷茫。
uj5u.com熱心網友回復:
問題在于您的 if 陳述句。
if(a instanceof Bear);
return true;
您已經用分號結束了 if 陳述句,這意味著它是一個空陳述句,并且return true始終執行下一行。洗掉 if 陳述句后的分號。
在此處閱讀更多資訊:“if”陳述句末尾的分號
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/438157.html
