gpt4 book ai didi

Java - 带括号的开关标签

转载 作者:行者123 更新时间:2023-12-01 16:43:12 24 4
gpt4 key购买 nike

我发现括号可以用在开关标签中,例如:

switch(id) {
case (CONSTANT):
case (1):
// Do action
break;
}

但是为什么 Java 在这种情况下允许括号,有用例吗?因为我不能使用 ||, 来使用多个,例如

  case (CONSTANT||1):
case (CONSTANT,1):

那么为什么允许这种语法,我在 JLS 中没有找到:

SwitchLabel:

case ConstantExpression :

case EnumConstantName :

default :

EnumConstantName:

Identifier

最佳答案

嗯,一个 ConstantExpression可以包含括号:

A constant expression is an expression denoting a value of primitive type or a String that does not complete abruptly and is composed using only the following:

  • ...

  • Parenthesized expressions (§15.8.5) whose contained expression is a constant expression.

  • ...

因此,由于 case 之后允许使用任何常量表达式(其类型为 char、byte、short、int、Character、Byte、Short、Integer、String 或 enum 类型),因此括号是允许。

关于Java - 带括号的开关标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58708999/

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