首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >枚举是否已使最终变量过时?

枚举是否已使最终变量过时?
EN

Stack Overflow用户
提问于 2012-06-27 13:12:50
回答 5查看 54关注 0票数 0

我是java新手,无法获取枚举是否会使最终变量过时?

EN

回答 5

Stack Overflow用户

发布于 2012-06-27 13:17:06

枚举和最终变量无关。在使用枚举之前,人们不得不求助于常量,但它们并不是等价的。

票数 2
EN

Stack Overflow用户

发布于 2012-06-27 13:20:51

绝对不是。Java中的最终变量不仅仅是常量。

reassignment.

  • Final可应用于局部变量以提供编译时保证,
  • Final可应用于方法参数以提供编译时保证,以防止重新赋值。这对于实例化引用局部变量的匿名内部类也是必需的(也称为closures).
  • Final可以应用于实例变量,以保证这些字段的引用不可变性。如果字段类型是不可变的,或者采取了适当的防御措施,则可用于确保对象的不可变性,从而使其线程安全。
  • Final可应用于方法,以防止子类重写它们。
  • Final可应用于类,以防止类的扩展。

正如您所看到的,final关键字仍然有很多用法。

票数 1
EN

Stack Overflow用户

发布于 2012-06-27 13:27:53

我假设你在这个问题中问的是整数常量,而不是其他类型的常量?如果不是,请记住枚举只能是枚举(Int),不能是特定类型。

否则..。再说一次,这不会使它们过时。枚举非常有用,因为只有有限数量的可能性是永远不会改变的。如果它们可以是无限数量(或很大的数量),或者不是所有的都完全定义,但有些可以完全定义,则不是那么有用。

这真的取决于用法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11219785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档