Java 返回true,然后从for循环中断

Java 返回true,然后从for循环中断,java,Java,我是java新手。 我一直试图做一些没有成功的事情。 基本上我想做的是创建一个返回true或false的方法。该方法获取一些参数,检查某个数组是否已满,如果未满,则将参数推送到非空的第一个单元格,返回true,而不继续检查数组的其余部分。 如果数组已满,则返回false。 代码如下: public boolean add( param1, param2, param3 ){ for( int i = 0; i < array.length; i++ ){ if ( array[i]

我是java新手。 我一直试图做一些没有成功的事情。 基本上我想做的是创建一个返回true或false的方法。该方法获取一些参数,检查某个数组是否已满,如果未满,则将参数推送到非空的第一个单元格,返回true,而不继续检查数组的其余部分。 如果数组已满,则返回false。 代码如下:

public boolean add( param1, param2, param3 ){
 for( int i = 0; i < array.length; i++ ){
   if ( array[i] == null ){
     array[i] =  new SomeObject( param1, param2, param3 ); 
     return true;
     break;
     }
  }
  return false;
}
public boolean add(param1、param2、param3){
for(int i=0;i
但我得到了错误——“break;”的“unreachable statement”。 有什么帮助吗


提前谢谢

因为您有一个return语句,所以不需要从循环中中断,因为return语句结束了方法的执行。只需删除
break
语句。

因为有些人坚持函数只有一个返回点,所以函数可以按如下方式重新表述,与原始问题的明显期望相匹配

public boolean add( param1, param2, param3 ){
    boolean result = false;
    for( int i = 0; i < array.length; i++ ){
        if ( array[i] == null ){
            array[i] =  new SomeObject( param1, param2, param3 ); 
            result = true;
            break;
        }
    }
    return result;
}
public boolean add(param1、param2、param3){
布尔结果=假;
for(int i=0;i
是的,因为控件遇到返回语句的那一刻,它只是从方法、开关或循环中退出。因此,写在返回语句下面的任何代码都将是“不可访问的”。因此,建议将返回放在(方法)块的最后一个除非需要,否则最好不要在单个块中的return语句之后编写任何代码,以免出现错误。

非常感谢您的评论。因此,基本上每次方法中有一个return语句时,它都会结束执行,即使返回在3个嵌套循环中也是如此?@Avishay28是的,
return
总是从方法中返回。一种合理的方法,尽管将
Result
大写,是对约定的一种不和谐的背离。为什么要生成另一个变量?它比原始代码好多少(当然没有break语句)感谢您的评论,我已经将其资本化,使其更加社会主义。@Avishay28从某种客观意义上讲,它不是“更好”;然而,在我看来,原始海报的直觉是返回语句不会立即终止函数。