不确定为什么jGrasp不接受我的toString equals方法。任何帮助都会很棒,停滞不前。
public class Rottweiler extends GuardDog {
private String color = "Brown";
public String toString() {
String returnString = super.toString();
returnString += String.format(Constant.FORMAT, "Color:", this.color);
return toString;
}
}
答案 0 :(得分:2)
将toString
更改为returnString
,如下所示:
public String toString() {
String returnString = super.toString();
returnString += String.format(Constant.FORMAT, "Color:", this.color);
return returnString;
}
答案 1 :(得分:0)
你在toString方法中返回了错误的值。
public String toString() {
String returnString = super.toString();
returnString += String.format(Constant.FORMAT, "Color:", this.color);
return returnString; //this line is the correct one
}
答案 2 :(得分:0)
在toString()
方法中,您正在创建名为returnString
的String对象,但您尝试返回未定义的对象toString
。
public String toString() {
String returnString = ... // <--
return toString; // <-- should be returnString
}
答案 3 :(得分:0)
问题在于您的toString()
方法 -
public String toString() {
String returnString = super.toString();
returnString += String.format(Constant.FORMAT, "Color:", this.color);
return toString; // <-- Why toString? You want returnString.
}
我通常在StringBuilder
方法中使用toString()
,因此它看起来像这样 -
public String toString() {
StringBuilder sb = new StringBuilder(super.toString());
sb.append(String.format(Constant.FORMAT, "Color:", this.color));
return sb.toString();
}