假设我有一个包含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,如何解决这个问题。
答案 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);
你要归还的可能是空的。