java - 将文件中的输入解析为 ADT ArrayList

标签 java file arraylist

我在解析文件输入时遇到问题。该文件由行分隔,使用“:”作为分隔符值。我在将输入输入 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();

最佳答案

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

关于java - 将文件中的输入解析为 ADT ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300783/

相关文章:

xml - 如何将文本文件包含到 qt 应用程序中?

java - 为什么我会遇到索引越界异常?

java - 如何在 Spring Web 服务中管理 session ?

Java正则表达式单词匹配

2台机器上的Java调试

java - 获取 JAXB IllegalAnnotationExceptions 准备 UnMarshal

file - 用于删除名称在文本文件中的文件的 Shell 命令/脚本

C - 保存到文件崩溃

android - 为什么 ObjectOutputStream.writeObject() 抛出 IOException?

java - 传递对 Arraylist 中对象的引用?