Java:Arraylist<>来自扫描仪

时间:2013-09-22 22:37:18

标签: java arraylist

我只是想知道这里的错误是什么,或者我应该从我的代码中添加或退出。

我想从扫描仪创建一个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();
    }

1 个答案:

答案 0 :(得分:2)

创建列表的两种方法是正确的,但它们之间存在一些差异。请参阅答案底部的链接。

问题是你没有正确地实例化Song对象,它应该被添加到列表中。为此,您必须使用new关键字。例如:

can.add(new Song(scan.next()));

了解更多关于: