【发布时间】:2017-07-16 06:50:56
【问题描述】:
这个声明有什么区别
Thread.State state = Thread.State.NEW;
还有那个
Enum<Thread.State> state = Thread.State.NEW;
在 Java 中?而不是第二个选项长一点?
【问题讨论】:
-
例如,AbstractList 和 ArrayList 之间存在相同的差异。如果您需要访问特定于 ArrayList 且不在 AbstractList 中的成员,则需要将您的变量声明为 ArrayList。这里的第一个更简洁、更清晰、更惯用。使用超类不会获得任何好处,因为无论如何都不会有 Enum
的任何其他子类。
标签: java generics enums difference