作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看不出值类和枚举之间的区别。如果有人能告诉我它们之间的区别以及它们的使用区别是什么,那就太好了。
最佳答案
首先,它不是一个“值类”。它是一个“基于值(value)的类”。请尝试使用正确的术语。
"Value-based Classes" Nicolai Parlog 的博客条目相当详细地解释了这些都是关于什么的。本质上,它们是可能在未来版本的 Java 中添加的“值类型”的前身。 (可能是 Java 10 - 请参阅 Project Valhalla。)
enum
类型(通常)不是基于值的类的主要原因是它们不一定是不可变的。不变性是类基于值的关键要求之一。 (枚举的其他方面与要求不太匹配,但枚举值的特殊性质可能意味着这些无关紧要。)
目前,“基于值的类”特性没有直接用途。但在未来的 Java 版本中可能会这样做。
关于Java:枚举和值类之间有什么区别(也在使用中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37894769/
我是一名优秀的程序员,十分优秀!