Java 使用StringBuilder而不是toString()
注释最初显示了toString()方法,但我想将其更改为字符串生成器方法。我有几个,但这是最简单的一个。你可以看到我尝试了什么。先谢谢你Java 使用StringBuilder而不是toString(),java,tostring,stringbuilder,Java,Tostring,Stringbuilder,注释最初显示了toString()方法,但我想将其更改为字符串生成器方法。我有几个,但这是最简单的一个。你可以看到我尝试了什么。先谢谢你 public StringBuilder toString() { StringBuilder str = new StringBuilder(); str.append("Data in Kennel " + name + " is:"); //String results = "Data in Kennel " + name + "
public StringBuilder toString() {
StringBuilder str = new StringBuilder();
str.append("Data in Kennel " + name + " is:");
//String results = "Data in Kennel " + name + " is:";
for (Animal d : dogs) {
//results = results + d.toString() + "\n";
str.append(d.toString() + "\n");
}
return str;
//return result;
}
如果这是针对
toString()
重写,或者即使不是,它也必须返回一个字符串,而不是一个StringBuilder。否则它不是真正的重写,甚至不应该编译,因为方法签名与对象的toString()相同,但返回类型不同
相反,请确保在方法体内部使用StringBuilder,但返回StringBuilder的toString()
e、 g
似乎您正在尝试创建一个类似于
对象的toString()
的方法,该方法返回一个StringBuilder
。不要这样做。使用StringBuilder
,您可以使用toString()
将其转换为String
你想用这个方法实现什么?这个方法用于打印存储在arraylist中的所有dogs数据。@robertM:你应该指定发帖时遇到的确切问题。这避免了我们不得不猜测。如果这是原始代码,那么现在就有了StringBuilder。我不认为您正在向我们展示您想要做的事情或以前行之有效的任何事情。您的问题是什么?我相信应该是strBuilder.toString()@机器人:锐利的眼睛,谢谢!!谢谢你,这工作做得很好!如果我不是,我对其他人很抱歉clear@robertM:不客气。我认为问题在于你没有给我们任何你的问题的背景。考虑在未来告诉更多的细节,以便我们可以清楚地了解你问什么,没有猜测或反复要求澄清。本节将告诉您更多关于如何提出能够获得体面快速回答的问题。祝你好运
@Override // this must return String
public String toString() {
StringBuilder strBuilder = new StringBuilder();
strBuilder.append("Data in Kennel " + name + " is:");
for (Animal d : dogs) {
strBuilder.append(d.toString() + "\n");
}
return strBuilder.toString();
}
StringBuilder strb = new StringBuilder("SampleString");
String str = strb.toString();