【发布时间】:2019-10-15 01:33:48
【问题描述】:
只是有个问题,我们如何重写上面的代码,只创建一个String对象?
String 是不可变的,studentDetails 已经不是一个 String 对象了
public void displayString(Student[] students)
{
String studentDetails = "";
for (Student stu : students)
{
studentDetails += stu.getFirstName();
studentDetails += " ";
studentDetails += stu.getLastName();
studentDetails += " ";
studentDetails += stu.getAge();
studentDetails += "\n";
}
System.out.println("Student Details are: ");
System.out.println(studentDetails);
}
【问题讨论】:
-
使用
StringBuffer或StringBuilder -
是的,String 对象是不可变的
-
也许你可以在循环中使用 String.format()。
-
侧栏:考虑通过将
displayString()移动到Student来允许Student描述自己,或者只是覆盖Student#toString()方法。