public void findWord(String word) {
  wordsOnBoard = new ArrayList<String>();
  if (dictionary.contains(word)) {
    System.out.println(word);
    wordsOnBoard.add(word);
  } else {
    System.out.println("None found");
  }
  System.out.println(wordsOnBoard);
}


wordsOnBoard是一个全局ArrayList

当dictionary.contains(word)会打印出该单词,然后将其添加到wordsOnBoard中,但是当它离开if循环时,该单词不再位于ArrayList wordsOnBoard中。我该如何解决?

最佳答案

每次输入方法时,您都在创建一个新的ArrayList

然后(有时)向其中添加一些内容,并且一旦离开该方法,该对象就可以使用GC。

如果您想保留它,则应该将ArrayList放入类的字段中。

10-08 10:52