枚举类中有一个内置的方法叫做values(),它是一个非常有用的方法,用于获取枚举类型的所有值。一、values()方法的工作原理values()方法返回一个包含枚举类型所有值的数组。数组中的元素按照它们在枚举声明中出现的顺序排列。二、使用values()方法下面是一个示例,展示了如何使用values()方法: public enum Day { MONDAY...
public static void main(String[] args) { for (SpaceShip s : SpaceShip.values()) { System.out.println(s); } } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 主要知识点: (1)创建enum时,编译器会为你生成一个相关的类,这个类继承自java.lang.Enum. (2)Enum本身没有values()方法,...
(java 是单继承,它已经继承了Enum),可以添加其他方法,覆盖它本身的方法 3. switch() 参数可以使用enum 了 4. values() 方法是编译器插入到enum 定义中的static 方法,所以,当你将enum 实例向上转型为父类Enum 是,values() 就不可访问了。解决办法:在Class 中有一个getEnumConstants() 方法,所以即便Enum 接口...
1.遍历所有有枚举值. 知道了有values方法,我们可以轻车熟路地用ForEach循环来遍历了枚举值了。 for (Color c: Color.values()) System.out.println(“find value:” + c); 2.在enum中定义方法和变量,比如我们可以为Color增加一个方法随机返回一个颜色。 public enum Color { Red, Green, Blue; /* *定...
public class EnumTest { public static void main(String[] http://args) { EnumDemoFirst[] values = EnumDemoFirst.values(); for (EnumDemoFirst enumDemoFirst : values) { System.out.println(enumDemoFirst + "--" + enumDemoFirst.getCode() + "--" + enumDemoFirst.getMsg()); ...
MyEnum[] myEnums = MyEnum.values();MyEnum myEnum = MyEnum.valueOf("enum1")valueOf(Class enumType, String name)方法是根据枚举类的Class对象和枚举名称获取枚举常量,这个方法由Enum类提供,本质是对map的get,是一张HashMap,key为String,存储在Class对象中。而valueOf(String name)是编译器生成的 ...
首先在刚才的测试类(在此取名EnumTest)开头添加一行import: importjava.lang.Enum; 使用Ctrl+左键点击查看其源码,原来是这样一个类: 1publicabstractclassEnum<EextendsEnum<E>>2implementsComparable<E>, Serializable {3...4} 查看这个类的实现,果然是没有values()方法的。 接下来...
当使用values()方法获取枚举实例时,如果枚举类中没有定义任何实例,该方法将会抛出NullPointerException异常。为了解决这个问题,可以在枚举类中添加一个判断来避免抛出异常。 例如,假设有一个枚举类MyEnum,可以按照以下方式解决该问题: public enum MyEnum { VALUE1, VALUE2, VALUE3; public static MyEnum[] values...
public class EnumTest { public static void main(String[] args) { EnumDemoFirst[] values = EnumDemoFirst.values();for (EnumDemoFirst enumDemoFirst : values) { System.out.println(enumDemoFirst + "--" + enumDemoFirst.getCode() + "--" + enumDemoFirst.getMsg());System.out.println("=...
1.values()方法说明 返回枚举类型的对象数组,该方法可以很方便地遍历所有的枚举值。 2.枚举的好处 可以将常量组织起来,统一进行管理。 3.枚举应用场景 错误码、状态机等 4.枚举特性 除了不能继承,基本上可以将 enum 看做一个常规的类。 Java 不允许使用 = 为枚举常量赋值 ...