在java中查找匹配参数时如何退出循环

时间:2014-02-25 06:34:32

标签: java arraylist

假设我有一个包含5个数据的ArrayList,如下所示:

testarrar=[optio1, option2, option3, realdata, option5];

我想迭代上面的列表,如果我得到 realdata ,那么收集相应的数据,但在我的情况下,代码在 realdata 之后进一步执行并返回null。

编辑:

  

我的方法中的意图如果找到了realdata,那么我想返回数据   否则我不想从这个方法返回任何值。但就我而言呢   如果数据未发现,至少为null。所以,我试图返回值,如果realdata   找到并退出。但是我的函数结束了testarrar.Only这个函数调用,如果数据有。

这是我的代码:

private Object getData() {
          if (testarrar.contains("realdata"))
        {
            if (obj != null) {
                //do something and get data
                return b.getValue(data);// I want to exit when matched parameter return this value
            }

        } 

        return null; // I am getting this
    }

如果最后的realdata然后它工作,但除了last之外的任何位置然后返回null,因为它假设最后的realdata。如果我有任何位置realdata,如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

你可以简单地使用'break'来退出循环:

for(int i=0;i<testarrar.length;i++){
 if(testarrar.get(i)=="realdata"){
 //do your stuff;
 break;
 }
}

如果要返回数据并退出循环,请按如下方式使用return:

for(int i=0;i<testarrar.length;i++){
 if(testarrar.get(i)=="realdata"){
 //do your stuff;
 return data;
 }
}

return将自动退出循环并将数据发送回函数调用。

在您的情况下,删除

return null;

声明并检查您是否仍然无效。 导致

的值

b.getValue(data); 你要归还的可能是空的。