1

我想创建这样的逻辑:如果s2为 null,则调试器会跳过所有复杂的字符串操作并返回 null 而不是s1 + s2 + s3在第一个if块中看到的。我在某个地方错了吗?

public static String helloWorld(String s1, String s2, String s3){
   if(s2==null){
     continue;
     return null;
   }

   ... lots of string manipulation involving s1, s2 and s3.

   return (s1+s2+s3);
}
4

3 回答 3

6

不要在那里使用 continue , continue 是 for 循环,比如

for(Foo foo : foolist){
    if (foo==null){
        continue;// with this the "for loop" will skip, and get the next element in the
                 // list, in other words, it will execute the next loop,
                 //ignoring the rest of the current loop
    }
    foo.dosomething();
    foo.dosomethingElse();
}

做就是了:

public static String helloWorld(String s1, String s2, String s3){
   if(s2==null){
     return null;
   }

   ... lots of string manipulation involving s1, s2 and s3.

   return (s1+s2+s3);
}
于 2012-09-18T16:28:45.703 回答
2

continue语句用于循环(for, while, do-while),而不是if语句。

你的代码应该是

public static String helloWorld(String s1, String s2, String s3){
   if(s2==null){
     return null;
   }

   ... lots of string manipulation involving s1, s2 and s3.

   return (s1+s2+s3);
}
于 2012-09-18T16:29:58.527 回答
2

你不需要continue那里,return null;就足够了。

continue当您希望循环跳过块的其余部分并继续下一步时,在循环中使用。

例子:

for(int i = 0; i < 5; i++) {
    if (i == 2) {
        continue;
    }

    System.out.print(i + ",");
}

将打印:

0,1,3,4,

于 2012-09-18T16:30:54.453 回答