java - 多次从 ArrayList 追加会导致同时打印多个值吗?

标签 java arrays eclipse arraylist append

我遇到了一个不知道如何解决的问题。我正在开发一个角色创建器,它写入 .txt 文件并从同一个 .txt 文件读取。第一次尝试时,我可以将 .txt 文件中的每一行 append 到 JTextArea,但是当我返回主菜单,然后返回 View 选项卡时,它会显示前两个值,而不仅仅是第一个值。每一次返回都会增加另一个值(value)。关于如何修复有什么想法吗?如果这是一个非常愚蠢的问题,我很抱歉。

viewInfo.addActionListener (new ActionListener ()
    {
        public void actionPerformed (ActionEvent e) 
        {

            i3 = i3 + 1;    

            try { BufferedReader br = new BufferedReader(new FileReader("charCreator.txt"));

                while ((name1 [i3] = br.readLine()) != null) {

                    if (!list.contains(name1 [i3])){  

                        list.add (name1 [i3]);

                    }

                }

                br.close ();                  

            } catch (IOException e1) {
                e1.printStackTrace();
            }

            String infoArray [] = list.toArray (new String [500]);

            viewArea.append (infoArray [i3]);
            viewArea.append ("\n");

        } 
    }
    );

我对自己的编码技能并不完全有信心,但建设性的批评总是值得赞赏的。大多数变量是全局的。

最佳答案

您可能必须确保在输入方法时不会保留列表。像这样的东西:

list.clear()

另一种方法是将列表声明移到您的方法中,这样您就知道它是新的。该方法结束后,您似乎不再需要它。

关于java - 多次从 ArrayList 追加会导致同时打印多个值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46612843/

相关文章:

eclipse - Gradle Eclipse 插件可以将源jar 文件附加到本地jar 依赖项吗

java - 从标准输入读取一行时如何限制字数?

java - 如何在android中获得2次之间的差异

java - Jar 完成后退出进程

c - malloc 之后的 while 循环后出现段错误

arrays - 是什么让 Swift 认为 [String] 是 Int?

arrays - 数组元素之和 VHDL

java - 如何运行简单的ejb程序?

eclipse - 在运行配置 VM 参数中访问 eclipse 类路径变量 M2_REPO 的值

java - 如何在 Eclipse 中分配手动快捷方式(Android 和 Java)