ToString()方法无法编译

时间:2013-12-12 23:35:07

标签: java tostring

不确定为什么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;
    }
}

4 个答案:

答案 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();
}