java中是否有任何选项可以创建具有 true 和 false 的枚举,如下所示,
public enum options {
true,
false,
both
}
现在,当我使用 true 和 false 时出现意外的令牌错误。谢谢
问候哈鲁
不可以。从JLS 8.9.1开始,枚举常量在语法中定义为
Run Code Online (Sandbox Code Playgroud)EnumConstant: {EnumConstantModifier} Identifier [( [ArgumentList] )] [ClassBody]
所以这是一个Identifier. 从JLS 3.8开始, 和Identifier被定义为
Run Code Online (Sandbox Code Playgroud)Identifier: IdentifierChars but not a Keyword or BooleanLiteral or NullLiteral
因此,标识符是任何有效的标识符字符字符串(基本上是字母和数字,但加入了 Unicode 支持),但不是关键字(例如if)或单词true、false或null。
实际上,无论如何你都应该将你的enum名字大写,所以它看起来更像
public enum Options {
  TRUE, FALSE, BOTH
}
这不会造成任何问题,因为TRUEandFALSE不是 Java 中的布尔文字。
| 归档时间: | 
 | 
| 查看次数: | 1015 次 | 
| 最近记录: |