Java 对If条件使用Final
我知道如何使用final设置int,如下所示:Java 对If条件使用Final,java,Java,我知道如何使用final设置int,如下所示: final int junk = whatever ? 1 : 2; final int junk = whatever ? 1 : whatever2 ? 3 : 4; .... and so on 但是,如何在更复杂的if语句中执行此操作?如何使用Java“final”在if()条件语句中设置值 示例: final int junk; if(whatever) { junk = 1; } else { junk = 2; }
final int junk = whatever ? 1 : 2;
final int junk = whatever ? 1 : whatever2 ? 3 : 4; .... and so on
但是,如何在更复杂的if语句中执行此操作?如何使用Java“final”在if()条件语句中设置值
示例:
final int junk;
if(whatever) {
junk = 1;
} else {
junk = 2;
}
final int junk;
if(whatever) {
junk = 1;
} else {
if(however) {
junk = 2;
} else {
junk = 3;
}
}
您可以将最终值设置嵌套到任何深度,如果您复制或跳过任何路径,Java将标记错误
示例:
final int junk;
if(whatever) {
junk = 1;
} else {
junk = 2;
}
final int junk;
if(whatever) {
junk = 1;
} else {
if(however) {
junk = 2;
} else {
junk = 3;
}
}
我尽可能使用
final
进行局部变量闭包,以确保不会意外地重复使用变量。您可以使用?
运算符进行嵌套if语句,如:
final int junk = whatever ? 1 : 2;
final int junk = whatever ? 1 : whatever2 ? 3 : 4; .... and so on
(如果你说“复杂”就是这个意思)
虽然,当您遇到“复杂”情况时,使用
if-else
比使用?
操作符更具可读性。@Pix您所说的更复杂到底是什么意思?一个例子可能是?你尝试了什么失败了?他可能是指无论什么都可能是一个昂贵的表达式,不应该计算两次。我想这就是所谓的blank final。