Ark*_*sma 3 java string object
将对象显示为字符串时出现以下问题:
class Gast{
String voorNaam, achterNaam;
datum geboorteDatum;
Gast(String vNaam, String aNaam, datum input){
voorNaam = vNaam;
achterNaam = aNaam;
geboorteDatum = input;
}
public String toString(){
return("Naam: " + voorNaam + " " + achterNaam + " " + geboorteDatum);
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,我实现了一种在字符串中表示此对象的方法,但是当我尝试在此类中使用它时:
class Kamer{
boolean vrij;
Gast gast;
Kamer(){}
public String toString(){
if(vrij == true){
return "De kamer is vrij!";
}
else{
return gast;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
kamer.java:17: error: incompatible types: Gast cannot be converted to String
return gast;
Run Code Online (Sandbox Code Playgroud)
我在类中给出了对象Gast的字符串表示?另一个类不继承我给出的表示吗?
尝试:
return gast.toString();
Run Code Online (Sandbox Code Playgroud)
编辑:更好的是,正如@Andreas评论所建议的那样,String.valueOf(gast)如果有可能gast可以为null(或者只是手动检查null)