在ArrayList中添加元素

时间:2015-03-14 17:34:59

标签: java arraylist add filereader

我正在尝试将新元素添加到数组列表中,但是当我打印结构时,我得到了内存中的地址。有什么想法吗?

我从文件中读取信息,并尝试将其放在一个结构中,该结构是一个在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]

谢谢!!

1 个答案:

答案 0 :(得分:1)

您必须覆盖toString()课程中的model.Assignatura方法。

toString()的默认实施将打印完全合格的班级名称,然后是&#39; @&#39;和十六进制格式的对象哈希码。这解释了你收到的内容。