将新对象添加到循环内的列表中[Java]

时间:2015-04-28 09:08:28

标签: java pointers

我试图将XML文件解析为java,特别是解析为CD对象列表,我有以下代码。

public class XMLParser {

    public ArrayList<CD> prs(String filePath) {
        ArrayList<CD> CDList = new ArrayList<CD>();
        ArrayList<String> titles = new ArrayList<String>();
        ArrayList<String> artists = new ArrayList<String>();
        ArrayList<String> genres = new ArrayList<String>();
        ...
        //correctly gets the lists titles, artists, and genres
        ...
        for(int i = 0; i < titles.size(); i++) {
            CD cd = new CD(titles.get(i), artists.get(i), genres.get(i));
            CDList.add(cd);
        }
        //flag
        return CDList;
    }
}

At&#34; flag&#34;我们有一个n个元素的列表,每个元素都完全相同。在循环过程中,我知道正在添加的CD是正确的,并且title.get(i)等作为它们的字段。出于这个原因,我很确定它是某种指针错误。

我在for循环的每次迭代中实例化一张新CD,所以我不明白为什么它一直指向一个对象而不是在内存中创建新对象。任何帮助将不胜感激!

0 个答案:

没有答案