![](/img/trans.png)
[英]Printing an Arraylist in toString with new lines separating each entry
[英]Printing an Arraylist in toString with lines separating each entry
我有一個toString,需要打印很多東西,包括一個包含多個條目的Arraylist。 這些條目必須用新行分隔。 這是我現在正在使用的toString代碼:
@Override
public String toString() // Displays the info for a class
{
return getCourseId() + "\n" + getCourseName() + "\n" + getCourseCode()
+ "\n" + "\n" + "Instructor" + "\n" + "-------------------------"
+ "\n" + Instructor.toString() + "\n" + "\n" + "Student Roster"
+ "\n" + "-------------------------" + "\n" + roster;
}
名冊確實會打印,但是所有條目都在同一行中,並帶有方括號和逗號。
我的老師堅持說toString必須是獨立的,所以我在toString中擁有的所有內容目前都必須呆在那里。
名冊打印如下:
@Override
public String toString() // Displays the info for a person in order
{
return getPersonId() + "\t" + getLastName() + "\t" + getFirstName()
+ "\t" + getMajor() + "\t" + getGpa();
}
當前,我得到的輸出看起來像這樣:
10000
College Algebra
MATH 101
Instructor
-------------------------
X00009876 Jones Jane Associate Professor Mathematics
Student Roster
-------------------------
[X00000002 Smith Sally History 2.98, X00000003 Adams Amanda Civil Engineering 3.7, X00000005 Turner Thomas Nursing 2.34]
但我希望它看起來像這樣:
10000
College Algebra
MATH 101
Instructor
-------------------------
X00009876 Jones Jane Associate Professor Mathematics
Student Roster
-------------------------
X00000002 Smith Sally History 2.98
X00000003 Adams Amanda Civil Engineering 3.7
X00000005 Turner Thomas Nursing 2.34
任何建議將不勝感激。 謝謝!
嘗試這個:
String rosterStr = roster.stream()
.map(r -> r.toString())
.collect(Collectors.joining("\n"))
它將獲取花名冊中每個值的字符串,然后將它們與換行符連接
我不確定您要問的是什么,但是我建議使用StringBuilder類,如下所示:
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
//You haven't provided much info about your ArrayList, customise this accordingly
for (Object o : ArrayList<Object>) {
sb.append(o.toString() + " ");
}
sb.setLength(sb.length() - 1);
return getCourseId() + "\n" + getCourseName() + "\n" + getCourseCode()
+ "\n" + "\n" + "Instructor" + "\n" + "-------------------------"
+ "\n" + Instructor.toString() + "\n" + "\n" + "Student Roster"
+ "\n" + "-------------------------" + "\n" + sb.toString();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.