我正在尝试使用toString()方法,但由于某种原因无法正常工作,而不是获取实际值(学生的姓名和人数):
================= students list =====================
----------------------
com.se.classes.Student@4554617c
com.se.classes.Student@74a14482
com.se.classes.Student@1540e19d
===============================================
这是com.se.classes中的方法:
public String toString() {
s = "\n================= students list =====================\n";
s = s + "\n----------------------";
for (int i = 0; i < nb; i++)
s = s + "\n" + student[i];
s = s + "\n===============================================";
return s;
}
请帮助。谢谢。
答案 0 :(得分:0)
如果您不想(或不能)直接向toString()
类添加Student
方法,请参见以下示例:
class Student {
private final String firstName; // John
private final String lastName; // Doe
// getters
}
static String toString(String[] students) {
StringBuilder buf = new StringBuilder();
buf.append("================= students list =====================\n");
for(Student student : students) {
buf.append(student.getFirstName()).append(' ').append(studnet.getLastName); // John Doe
buf.append("\n----------------------");
}
return buf.tpString();
}
答案 1 :(得分:0)
您的Student类也需要一个toString()。另外,您的toString效率低下:
public String toString() {
StringBuilder s = new StringBuilder(System.lineSeparator())
.append("================= students list =====================")
.append(System.lineSeparator())
.append(System.lineSeparator())
.append("----------------------";
for (int i = 0; i < nb; i++)
s.append(System.lineSeparator())
.append(student[i]);
s.append(System.lineSeparator())
.append("===============================================");
return s.toString();
}