1

toString() 方法有什么用?我有一个子类,我需要在其中使用 tostring() 方法。我怎样才能用它来打印“C10”。如果我想制作滑道和梯子游戏。这是我收到的错误消息

Chute.java:12:错误:不兼容的类型返回 System.out.print("C10") ;^ 必需:找到字符串:void 1 错误

代码 :

public String toString() 
{
 return System.out.print("C10") ;

}

}

4

5 回答 5

2

背后的想法toString是生成String对象的表示。打印或以任何其他方式使用它完全取决于您。

class Snake {
    public String toString() {
        return "C10";
    }
}

public static void main() {
    Snake mySnake = new Snake();
    // This prints "C10"
    System.out.println(mySnake);
}
于 2013-03-28T02:15:28.180 回答
0

您的toString()方法应该返回您的类的字符串表示形式:

public String toString()
{
   return "C10";
}
于 2013-03-28T02:12:09.770 回答
0

在这种情况下,您会收到该错误,因为您根本没有返回任何内容。System.out.print()是一种方法,作为副作用,打印提供给标准输出的字符串。

要返回字符串,您需要执行以下操作:

public String toString() {
    return "C10";
}
于 2013-03-28T02:12:35.683 回答
0

System.out.print是一种无效的方法。它不会返回任何内容,尽管它会打印到您的屏幕上。

如果你想从你的toString()方法中返回一些东西,你只需要从方法中返回你想要的东西System.out.print

public String toString() {
    return "C10";
}
于 2013-03-28T02:13:07.287 回答
0

在java中,函数应该返回签名中定义的类型

public String 方法返回一个字符串,所以你应该返回值“C10”

public String toString() {
    return "C10";
}

您可以在返回之前添加打印功能,可选:

public String toString() {
    String value = "C10"; //user var to not copy the value;
    System.out.print(value);
    return value;
}
于 2013-03-28T02:16:42.740 回答