gpt4 book ai didi

java - 带有空白最终变量的 Switch 语句

转载 作者:太空宇宙 更新时间:2023-11-04 11:42:51 24 4
gpt4 key购买 nike

根据Wikipedia ,空白最终变量是其声明在定义时缺少初始值设定项的最终变量。

同时,switch case语句的值必须是编译时常量值。

根据上述两个确认,我希望下面的两个代码片段都能顺利编译,但只有第一个可以:

    final int y = 1;

switch(1) {
case y:
}

    final int y;
y = 1;
switch(1) {
case y:
}

Java 编译器不应该在第二个示例中运行流程分析以确保分配了空白的最终变量,从而编译代码时没有错误吗?

最佳答案

switch case 需要一个常量表达式。在第一个示例中,编译器将初始化替换为常量,然后用该常量代替所有 y 变量。在第二种情况下,编译器无法执行此操作。

关于java - 带有空白最终变量的 Switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42627873/

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