【发布时间】:2010-03-07 02:43:44
【问题描述】:
我的 Java 代码应该在一个 for 循环中创建多个对象,然后将每个对象添加到一个数组中。但是,一旦循环结束,代码只是将相同的(这是 for 循环中的最后一个)对象复制到数组中的每个索引 i 中。
我怎样才能纠正这个问题,让每个单独的对象在数组中的正确索引中?
如有必要,我可以发布代码,但如果有人能给我一个例子说明这是如何工作的,那就太好了。
for (int i = 0; i < file.listFiles().length; i++) {
if (fileList[i].isFile() && !fileList[i].isHidden() && fileList[i].getName().substring(fileList[i].getName().length() - 4).equalsIgnoreCase(".mp3")
&& !fileList[i].equals(null)) {
try {
songs.add(new Song(fileList[i]));
//System.out.println(songs[i].getTitle());
//playlistInfo[i] = fileList[i].getName();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TagException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这里是我将一些对象信息打印到控制台的地方。
System.out.println(getSong(1).getTitle());
System.out.println(getSong(4).getTitle());
【问题讨论】:
-
发布您现有的代码会很有帮助。
-
请发布您的代码,这将有很大帮助。
-
发布你的例子,我们来看看
-
你能把你的代码贴在你列出歌曲的地方吗?也许问题出在打印时而不是插入时
-
我们需要看看 getSong(int) 做了什么,可能还有 getTitle() 实现的相关部分。