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

java中查找匹配参数时如何退出循环,java,arraylist,Java,Arraylist,假设我有一个包含5个数据的ArrayList,如下所示: for(int i=0;i<testarrar.length;i++){ if(testarrar.get(i)=="realdata"){ //do your stuff; return data; } } testarar=[option1,option2,option3,realdata,option5] 我想迭代上面的列表,如果我得到realdata,然后收集相应的数据,但是在我的例子中,代码在realdata之后

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

for(int i=0;i<testarrar.length;i++){
 if(testarrar.get(i)=="realdata"){
 //do your stuff;
 return data;
 }
}
testarar=[option1,option2,option3,realdata,option5]

我想迭代上面的列表,如果我得到realdata,然后收集相应的数据,但是在我的例子中,代码在realdata之后进一步执行,并返回null

编辑:

我在方法中的意图如果找到realdata,那么我想返回数据 否则我不想从这个方法返回任何值。但就我而言 如果找不到数据,则至少为null。因此,我尝试返回值if realdata 找到并退出。但我的函数将在TestArr结束时运行。只有在有数据时才调用此函数

这是我的密码:

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中,那么它工作,但除last之外的任何位置都返回null,因为它假定realdata在last中。如何解决这个问题,如果我有任何位置realdata。

您可以简单地使用“break”退出循环,如下所示:

for(int i=0;i<testarrar.length;i++){
 if(testarrar.get(i)=="realdata"){
 //do your stuff;
 break;
 }
}
语句,并检查是否仍为null。 使价值

b.getValue(数据)

返回的可能为空。

哪个循环?代码中没有循环。如果使用
return
循环将在找到记录时终止!好的,我没有循环,如何从这个携带各自数据的循环中退出。顺便问一下,为什么要从这个方法返回null。你的意思是:尽管数组包含数据,但始终会得到null值?@user2332049请发布完整的代码。这不起作用<代码>此方法必须返回Object类型的结果
。但是没有得到返回值。如果发生realdata,我将获得值,但我的最后一个选项5将执行,因此它将返回null。您可以检查代码中返回值的类型,如果它是一个对象,您可以继续,如果它是null,您可以忽略。如果您确实需要返回某种类型的对象,请不要返回null,而是返回您想要返回的任何类型的对象<代码>对象对象=新对象();返回obj
return null;