Java 打破与回归

Java breaking vs returning

我正在使用 return 为真的布尔值。当这样的事情发生时:

public boolean t(String label, String[] arguments) {
    boolean j = false;
    if (!j) {
        return true;
    }
    return true;
}

但是,在这个布尔值中我有一个 switch 语句。您可能知道,您通常会跳出 switch 语句。但是我正在做这样的事情来测试布尔值是真还是假。我会在 switch 语句中 return 吗?如果布尔值为假,我会中断吗?

一个例子是这样的:

switch (arguments.length) {
    case 0:
        if (j) return true;
        break;
    default:
        break;
}

哪个更有用,将 return true 换成 break,还是保持不变?

Return 始终调用 return 被调用函数的处理程序,其中 switch 语句中的 break 是为了避免检查 switch case 中存在的其他 case。如果您不希望您的程序 return 任何值,那么 break 就足够了,否则需要 return。

break 语句将终止 switch 语句的执行并继续执行该方法。 return 语句将完全离开该方法。

这真的是一个偏好问题,至于哪个更好。归结为方法设计。

我想说的是,在大多数情况下,就像您上面所说的那样,最好直接使用 return 语句并完全保留该方法。

也就是说,这个:

public boolean t(String label, String[] arguments) {
    boolean j = false;
    if (!j) {
        return true;
    }
    return true;
}

可以简化为:

public boolean t(String label, String[] arguments) {   
    return true;
}

如果您只是检查一个变量的一个条件,那么您不需要 switch 语句;它不是最佳的。

I am doing something like this testing for booleans to be true or false

你真的不应该 "test" 布尔变量是真还是假,只是 return 它们。