当前位置: 首页 > 知识库问答 >
问题:

“java中的枚举是一组预定义的常量”是什么意思?[关闭]

燕玉堂
2023-03-14

想改进这个问题吗 通过编辑此帖子,添加详细信息并澄清问题。

当你说枚举在java中是常量时,你实际上是什么意思?

它们是什么类型的常量(整数常量、字符常量、字符串常量)?

当我使用枚举作为切换用例值时,为什么Java系统没有抱怨?

据我所知,在1.7之前,switch语句接受byte、short、int或char作为大小写值。所以,当有人说枚举是常量,并且可以在开关情况下使用时,他们指的是什么类型的常量,因为开关只接受byte、short、int或char

例如字符串常量,它们是在java 1.7中添加的,但枚举是从1.5开始的,它们被用于开关大小写值,现在从Java1.7开始,我可以使用字符串作为开关大小写值?

Java在切换情况下如何处理枚举,它是否使用枚举的ordinal()值?

共有1个答案

柴华灿
2023-03-14

我想我知道你在问什么。枚举是常量,因为它们在运行时不能更改。

您可以对它们使用switch语句,因为有预定义的元素数,因此编译器知道何时涵盖了所有情况。

 类似资料:
  • 问题内容: 这是来自有效的Java 使用int枚举模式的程序很脆弱。因为int枚举是编译时常量,所以它们被编译到使用它们的客户端中。 有人可以解释为什么int枚举模式被称为编译类型常量,以及将其 编译到客户端 意味着什么吗? 这是一个这样的常量的例子: 问题答案: 假设您有两个文件: 都编译它们,运行,它将打印出1。 现在将Foo.java更改为2,然后重新编译 Foo.java 。重新运行,它将

  • 在typescript中枚举的用途是什么。如果它的目的仅仅是使代码可编辑,我们就不能使用常量来达到同样的目的吗 如果没有打字检查的好处,就不能写成。

  • 问题内容: 我发现此代码可在此处找到SO中的重复项。但我不明白这条线是什么意思 问题答案: 该运算符是Java中无符号的右移位运算符。它有效地将操作数除以右操作数的幂,或者仅在此处。 和之间的差异仅在移动负数时才会显示。如果运算符是a ,则运算符会将其移位到最高有效位,而无论如何都将移位。 更新: 让我们求平均值和()。我们可以轻松地进行数学运算: 现在,通过代码,涉及到以下这些位: 让我们将“转

  • 我最近读了一篇关于方程组的复杂黑客的文章,冒烟的枪是一个常数,也出现在JDK 8源代码中,例如。ThreadLocal.java HASH_INCREMENT常数的意义是什么,它是如何提高性能的?

  • 问题内容: : 程序元素类型。此枚举类型的常量为Java程序中声明的元素提供了简单的分类。这些常量与meta- annotation类型一起使用,以指定在何处使用注释类型是合法的。 有以下常量: ANNOTATION_TYPE- 注释类型声明 构造 函数-构造函数声明 FIELD- 字段声明(包括枚举常量) LOCAL_VARIABLE- 局部变量声明 方法 -方法声明 包装 -包裹声明 参数 -

  • 问题内容: 重入意味着锁定是在每个线程而不是每个调用的基础上获得的。 由于内在锁由线程持有,这是否意味着线程运行一次等于调用基础? 谢谢,这似乎意味着:在线程中,如果我在调用function的流程函数时获得了锁,并且还需要一个锁,那么将会有一个可重入的过程。在Java中,这种现象是按线程获取的,因此我不需要考虑死锁吗? 问题答案: 重入意味着锁定是在每个线程而不是每个调用的基础上获得的。 这是一个