我只是想知道这里的错误是什么,或者我应该从我的代码中添加或退出。
我想从扫描仪创建一个ArrayList,但我不能。如果我创建一个ArrayList而没有指定它的工作类型。什么是概率?我已经上了一首歌。
当我打印第一次尝试时,数组中充满了“空值”。 当我打印第二次尝试时,数组就像我需要的那样。我怎么能这样做,我的第一次尝试显示与尝试2相同的打印?
谢谢!
ArrayList<Song> can = new ArrayList<Song>(); // 1st try
ArrayList can1 = new ArrayList(); /2nd try
Song song;
Scanner scan = null;
try {
scan = new Scanner(new FileReader("src/arrayList/Song.dat"));
while (scan.hasNext()) {
can.add(Song(scan.next())); // 1st try
can1.add(scan.next()); // 2nd try
}
} catch (FileNotFoundException e) {
System.err.println(e);
} catch (InputMismatchException e) {
System.err.println(e);
} catch (java.util.NoSuchElementException e) {
System.err.println(e);
}
finally {
scan.close();
}
答案 0 :(得分:2)
创建列表的两种方法是正确的,但它们之间存在一些差异。请参阅答案底部的链接。
问题是你没有正确地实例化Song
对象,它应该被添加到列表中。为此,您必须使用new
关键字。例如:
can.add(new Song(scan.next()));
了解更多关于: