我试图弄清楚为什么我不断收到错误消息,指出不能从静态上下文中引用非静态变量destinationList。我知道该程序应该如何工作,所以我不需要任何帮助。我当时以为我可以将项目放到ArrayList中,但是那没用。任何帮助,将不胜感激:)
public static void updateTextFile()
{
try (PrintWriter writer = new PrintWriter(new FileWriter(DESTINATIONS_FILE, true)))
{
writer.println(destinationList.getItems());
}
catch (IOException ioe)
{
System.out.println("Error when attempting to update file");
}
}
答案 0 :(得分:1)
从方法static
中删除updateTextFile()
关键字。或者,如果您想使其保持静态,请将destinationList
本身设为static
。
答案 1 :(得分:0)
错误几乎说明了一切。我猜测destinationList不是静态的?尝试将列表作为参数传递给方法。
答案 2 :(得分:0)
据我了解您的问题。为了从Java8 ComboBox中获得ArrayList,相当明智的使用API ComboBox API
getItems();
已返回可观察列表。
ObservableList API
只需复制列表或使用提供的列表,任何更改都会影响基础列表。如果要复制列表,则需要阅读有关浅层和深层副本以及操作方法的信息。在互联网上为该指南提供指南。
您可以使用Java 7 NIO API
读写列表Files.write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options)
为您幸运,“可观察的列表”是可重复的!