小小的枚举类,让代码变得更简洁

坚持原创,写好每一篇文章

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()方法的使用,在进行枚举类遍历的时候可以使用这个方法,这个方法是编译器为枚举类添加的方法。

❤️ 感谢大家

如果你觉得这篇内容对你挺有有帮助的话:

  1. 欢迎关注我❤️,点赞👍🏻,评论🤤,转发🙏
  2. 关注盼盼小课堂,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。
  3. 有不当之处欢迎批评指正。