我无法解析文件中的输入。该文件由行分隔,并使用':'作为分隔符值。我在将输入输入到ArrayList时遇到麻烦,我认为这是因为我在while循环中使用变量的效率低下。如果变量newItin发生更改,则它仍在引用同一对象,或者是在附加newItin的“初始” 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();

最佳答案

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

09-28 02:02