Java:返回带有for循环的列表

时间:2014-01-06 15:38:22

标签: java loops for-loop return

我在java中使用for循环遇到了一些困难:

public String[] geefAlleTemplateNamen(String[][] templateLijst){
    for(int i = 0; i < templateLijst.length; i++){
    String lijst[] = {templateLijst[i][0]};
    }
    return lijst;
}

当我执行程序时,我收到以下错误:

 Mailmatcher.java:39: error: cannot find symbol
                return lijst;
                       ^
  symbol:   variable lijst
  location: class Mailmatcher
1 error

我认为这是因为'lijst'在for循环中被声明,所以它在它之外是未知的,虽然我想我知道问题是什么,但我不知道如何解决这个问题。

任何想法都将不胜感激!

我已经使用了搜索功能,但没有真正找到一些东西,这是一个学校项目,所以我不指望预先做出的答案。

谢谢!

2 个答案:

答案 0 :(得分:4)

你必须在循环之外声明lijst[]并在循环中填充数组:

String lijst[] = new String[templateLijst.length];
for(int i = 0; i < templateLijst.length; i++){
    lijst[i] = templateLijst[i][0];
}
return lijst;

答案 1 :(得分:0)

要从kocko添加答案,这是因为列表的范围仅限于循环内。这将导致两个问题,

  1. 该列表被重新声明为循环的每次迭代的新空列表(消除以前存储的任何数据)
  2. 返回在循环之外,因此它无法访问列表,一旦您的代码完成循环并继续前进,它几乎不再存在。
  3. 所以是的,在循环之前声明列表。