将文件输入解析为ADT ArrayList

时间:2010-02-20 02:20:54

标签: java file arraylist

我在解析文件输入时遇到问题。文件由行分隔,使用“:”作为分隔符值。我在输入ArrayList时遇到了麻烦,我认为这是因为我在while循环中无效地使用变量。如果变量newItin发生变化,它仍然引用相同的对象,或者更确切地说是附加newItin的'itinerary'ArrayList,或者只是更改它。我想知道是否有人对如何解决这个问题有任何建议。提前谢谢。

    ArrayList <Itinerary> itinerary = new ArrayList <Itinerary>();
    Itinerary newItin = new Itinerary();
    fileIn.useDelimiter(":");

    while(fileIn.hasNextLine()){
        if(fileIn.hasNext()){
        String dest = fileIn.next();
        String days = fileIn.next();
        newItin.addDestination(dest, Integer.parseInt(days));
        itinerary.add(newItin);}
        fileIn.nextLine();}
    fileIn.close();

1 个答案:

答案 0 :(得分:1)

您需要将“新行程”移动到循环中并每次都创建一个新行程。否则,你会一遍又一遍地向ArrayList添加相同的对象。