我正在尝试将新元素添加到数组列表中,但是当我打印结构时,我得到了内存中的地址。有什么想法吗?
我从文件中读取信息,并尝试将其放在一个结构中,该结构是一个在numAssignatures中的一个,而一个ArrayList和assignatura有一个带有名称和一个整数的字符串。
public static void llegeixFitxer(Curs[] curs) throws IOException {
FileReader file = new FileReader("assignatures.txt");
BufferedReader reader = new BufferedReader(file);
for (int j=0; j< 5; j++){
curs[j] = new Curs();
curs[j].numAssignatures = Integer.parseInt(reader.readLine());
for (int i = 0; i<curs[j].numAssignatures; i++){
String aux = reader.readLine();
String[] parts = aux.split("-");
String assignaturallegida = parts[0];
int creditsllegits = Integer.parseInt(parts[1].replace(" ",""));
curs[j].addAssignatura(assignaturallegida,creditsllegits);
}
System.out.println(curs[j].getNumAssignatures() + " + " + curs[j].getAssignatures());
}
reader.close();
}
}
我明白了:
7 + [model.Assignatura@7eda2dbb, model.Assignatura@6576fe71, model.Assignatura@76fb509a, model.Assignatura@300ffa5d, model.Assignatura@1f17ae12, model.Assignatura@4d405ef7, model.Assignatura@6193b845]
谢谢!!
答案 0 :(得分:1)
您必须覆盖toString()
课程中的model.Assignatura
方法。
toString()
的默认实施将打印完全合格的班级名称,然后是&#39; @&#39;和十六进制格式的对象哈希码。这解释了你收到的内容。