比方說,我有一個動物類,以及從動物類延伸出來的貓和狗類。 現在我想看看狗和貓是否有相同的名字。 我已經試過這樣:java比較不同類別的兩個值
if(kitty.getName().equals(doggy.getName()))
但它不會讓我這樣做是因爲貓是不是狗我猜?有什麼方法可以比較嗎?或者我真的不想做這樣的事情,如果是的話,爲什麼不呢?
比方說,我有一個動物類,以及從動物類延伸出來的貓和狗類。 現在我想看看狗和貓是否有相同的名字。 我已經試過這樣:java比較不同類別的兩個值
if(kitty.getName().equals(doggy.getName()))
但它不會讓我這樣做是因爲貓是不是狗我猜?有什麼方法可以比較嗎?或者我真的不想做這樣的事情,如果是的話,爲什麼不呢?
您最好提供有關您程序的更多信息。讓我們說錯誤消息,getName()方法的返回類型以及如何聲明你的dog和cat類以及main中的初始化。對於您提供的內容,使用「equals()」進行比較沒有任何意義。當然,假定返回類型爲這兩種方法是相同的(如String也許?)
這是相當困難的,告訴你的問題是沒有示例代碼你的問題是什麼,但讓我們採取以下類別:
動物類:
public abstract class Animal
{
String name;
public Animal(String name){
this.name = name;
}
public String getName(){
return name;
}
}
Cat類:
public class Cat extends Animal
{
public Cat(String name) {
super(name);
}
}
狗類:
public class Dog extends Animal
{
public Dog(String name) {
super(name);
}
}
而這個示例代碼:
Cat cat = new Cat("kitty");
Dog dog = new Dog("doggy");
if (cat.getName().equals(dog.getName())){
System.out.println("true");
}
else{
System.out.println("false");
}
這將產生,我相信你正在尋找的行爲。這與您的代碼的結構有何不同?請提供更多信息,以便於幫助。
我們需要一個工作示例和錯誤信息,顯然這不是。 – nicomp
你真的鍵入'equels'嗎?或者是這個問題中的一種類型?它應該是「平等」。 –
這是一個錯別字 –