小小的枚举类,让代码变得更简洁
小小的枚举类,让代码变得更简洁
坚持原创,写好每一篇文章
Java中的枚举类我们有时候把它当成一个字典来使用,它简化了代码,下面我们就看一看枚举类
枚举类使用关键字enum来定义,我们定义的枚举类都继承Enum类。我们都知道,java中的类只能有一个父类,所以我们定义的所有枚举类不能继承其他类了。
枚举类的遍历
枚举类有个values()方法,这个方法可以获取到所有的枚举实例,通过这个方法可以进行遍历枚举类
enum Xpp { CODE, SLEEP, EAT }
for(Xpp x : Xpp.values()) {
System.out.println(x.ordinal());
System.out.println(x.getDeclaringClass());
Xpp xpp = Enum.valueOf(Xpp.class, "CODE");
}
ordinal()方法是获取序列号,从0开始。
getDeclaringClass()方法是获取枚举实例所属的类,这里返回的是class Xpp,由此可以看出,枚举类也是类,它支持关键字比较特殊而已。因此枚举类中可以定义方法、属性等等,它和其他的类没有什么区别,枚举类中也可以添加main()方法,枚举类还可以实现接口
第三行代码调用了枚举类的valueOf()方法,通过调用形式我们就可以看出,它是一个静态方法,它会根据名称返回枚举类中的实例,如果实例不存在的话就抛出异常。
枚举类的values()方法来自哪里
我们上面的代码中表示使用枚举类的values方法可以获取枚举类的所有实例,但从它的父类中看,父类Enum类也没有values()方法的定义,那么它来自哪里呢?它其实是编译器为枚举类添加的静态方法。
总结
这篇文章我们简单了解了枚举类的使用,枚举类和我们的普通的类没有什么不同,只是它的关键字是enum,它继承了Enum类就不能继承别的类,但它可以定义方法和实现接口,重点介绍了一下values()方法的使用,在进行枚举类遍历的时候可以使用这个方法,这个方法是编译器为枚举类添加的方法。
- 点赞
- 收藏
- 关注作者
评论(0)