创建一个enum类时,该类默认继承自Enum,查看Enum的源码时会发现没有values方法,那么values方法是怎么被实现的呢?
values是由编译器添加的static方法,编译器还为enum类添加了valueOf方法,这个valueOf只需要一个参数。
如果将enum向上转型为Enum,因为擦除效应,反编译无法得到Enum的完整信息,将导致values方法不可用。不过Class有一个getEnumConstants()方法,仍然可以获取所有enum实例。
Enum的values方法
最新推荐文章于 2023-09-04 17:44:00 发布