gpt4 book ai didi

java - 使用复杂表达式初始化变量

转载 作者:行者123 更新时间:2023-11-30 06:06:26 25 4
gpt4 key购买 nike

Java 8 中有没有办法同时声明和初始化 final具有复杂表达式结果的变量?

换句话说,像下面这样的事情可能吗?

final int x = [capturedVariable] {
switch (capturedVariable) {
case 1: return 42;
case 2: return 84;
default: return 66;
}
};

虽然语法显然很“有创意”,但我希望意图很明确。

编辑 1:虽然可以使用三元运算符编写此特定示例,但它只是复杂表达式的示例,我正在寻找通用解决方案。

编辑 2:也许用一种争议较少的方式来看待这个问题:在 Java 8 中同时声明和调用 lambda/closure 的语法是什么?

最佳答案

我不明白 Java 8 在这里有什么关系,你可以在多个地方分配一个最终变量,只要你总是分配它并且只分配一次,例如这是合法的 Java 代码(假设 blah 是一个有效的 boolean 值):

final int test;
if (blah) {
test = 1;
} else {
test = 2;
}

表达式可以很复杂,只要编译器能够确定地证明您总是初始化变量一次且仅一次。 (例如循环会使其失败)。

关于java - 使用复杂表达式初始化变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44051249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com