我遇到了一个不知道如何解决的问题。我正在开发一个角色创建器,它写入 .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/