如何从方法返回一个arraylist

Lur*_*ron 5 java methods arraylist return-value


我需要帮助.对于这种特定的方法.我试图让它返回我所标记的arraylist.

public ArrayList read (){

  BufferedReader inputStream = null;
  try {
    inputStream = new BufferedReader(new FileReader("processes1.txt"));
    String l;
    while ((l = inputStream.readLine()) != null) {

      ArrayList<String> tokens = new ArrayList<String>();

      Scanner tokenize = new Scanner(l);
      while (tokenize.hasNext()) {
        tokens.add(tokenize.next());
      }
      return tokens;
    }
  } catch(IOException ioe){
    ArrayList<String> nothing = new ArrayList<String>();
    nothing.add("error1");
    System.out.println("error");
    //return nothing;
  }
  return tokens;
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?!

Mit*_*sey 10

在最后你正在做return tokens但是该变量是在try块中定义的,所以它不能在它之外访问.你应该添加:

ArrayList<String> tokens = new ArrayList<String>();

在你的方法的顶部,就在BufferedReader之下.