1.Java的枚举类是用enum关键字,枚举出来的是像常量一样的东西,连命名规范都跟常量(static final)一样。 2.枚举类可以用在switch语句的条件中。 3.kotlin中用的是sealed关键字,是不一样的语法。 4.kotlin中同样可以用密封类当多种条件选择语句的条件子项。 5.枚举是类,有类的开销。 ①假如有一个枚举类: public static enum Value{ VALUE1, VALUE2, VALUE3 } ②反编译后局部代码如下: public final class VALUE extends java.lang.Enum{ public static final VALUE VALUE1; public static final VALUE VALUE2; public static final VALUE VALUE3; private static final VALUE[] values[]; static{} } ③可以看到实际上enum类型继承java.lang.Enum,每个枚举项都会被声明成一个静态变量,并被赋值。VALUE value1 = VALUE.VALUE1则会引起对静态变量的引用。