一文教你正确的在java中使用枚举?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
java枚举使用详解
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。
例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。
在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。
package com.ljq.test;public class TestEnum { public enum ColorEnum { red, green, yellow, blue; } public enum SeasonEnum { //注:枚举写在最前面,否则编译出错 spring, summer, autumn, winter; private final static String position = "test"; public static SeasonEnum getSeason() { if ("test".equals(position)) return spring; else return winter; } } public enum Gender{ //通过括号赋值,而且必须带有一个参构造器和一个属性跟方法,否则编译出错 //赋值必须都赋值或都不赋值,不能一部分赋值一部分不赋值;如果不赋值则不能写构造器,赋值编译也出错 MAN("MAN"), WOMEN("WOMEN"); private final String value; //构造器默认也只能是private, 从而保证构造函数只能在内部使用 Gender(String value) { this.value = value; } public String getValue() { return value; } } public enum OrderState { CANCEL {public String getName(){return "已取消";}}, WAITCONFIRM {public String getName(){return "待审核";}}, WAITPAYMENT {public String getName(){return "等待付款";}}, ADMEASUREPRODUCT {public String getName(){return "正在配货";}}, WAITDELIVER {public String getName(){return "等待发货";}}, DELIVERED {public String getName(){return "已发货";}}, RECEIVED {public String getName(){return "已收货";}}; public abstract String getName(); } public static void main(String[] args) { //枚举是一种类型,用于定义变量,以限制变量的赋值;赋值时通过“枚举名.值”取得枚举中的值 ColorEnum colorEnum = ColorEnum.blue; switch (colorEnum) { case red: System.out.println("color is red"); break; case green: System.out.println("color is green"); break; case yellow: System.out.println("color is yellow"); break; case blue: System.out.println("color is blue"); break; } //遍历枚举 System.out.println("遍历ColorEnum枚举中的值"); for(ColorEnum color : ColorEnum.values()){ System.out.println(color); } //获取枚举的个数 System.out.println("ColorEnum枚举中的值有"+ColorEnum.values().length+"个"); //获取枚举的索引位置,默认从0开始 System.out.println(ColorEnum.red.ordinal());//0 System.out.println(ColorEnum.green.ordinal());//1 System.out.println(ColorEnum.yellow.ordinal());//2 System.out.println(ColorEnum.blue.ordinal());//3 //枚举默认实现了java.lang.Comparable接口 System.out.println(ColorEnum.red.compareTo(ColorEnum.green));//-1 //-------------------------- System.out.println("==========="); System.err.println("季节为" + SeasonEnum.getSeason()); //-------------- System.out.println("==========="); for(Gender gender : Gender.values()){ System.out.println(gender.value); } //-------------- System.out.println("==========="); for(OrderState order : OrderState.values()){ System.out.println(order.getName()); } } }
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机一文教你正确的在java中使用枚举
后端开发2023-05-31
如何正确的在C#项目中使用枚举
后端开发2023-06-06
一文带你读懂Java中的枚举
后端开发2023-05-31
一文了解Java中枚举的使用
后端开发2024-04-02
教你如何用好 Java 中的枚举
后端开发2024-04-02
一篇文章教你使用枚举来实现java单例模式
后端开发2024-04-02
一文教你正确的使用Spring boot框架
后端开发2023-05-31
一文带你了解Python枚举类enum的使用
后端开发2024-04-02
一文搞懂Java项目中枚举的定义与使用
后端开发2024-04-02
一文教你如何在java中使用SpringMVC
后端开发2023-05-31
枚举中的values()方法如何在java 中使用
后端开发2023-05-31
一文教你如何在Java 中使用Calendar类
后端开发2023-05-31
在Java中如何正确的使用TreeSet
后端开发2023-05-31
HashSet如何正确的在Java中使用
后端开发2023-05-31
一文带你了解如何正确使用Java中的字符串常量池
后端开发2022-12-26
一文教会你在MySQL中使用DateTime
后端开发2024-04-02
在Java项目中使用枚举类型的方法有哪些
后端开发2023-05-31
详解Java枚举类在生产环境中的使用方式
后端开发2024-04-02
如何在Java中正确的使用注解
后端开发2023-05-31
咦!没有更多了?去看看其它编程学习网 内容吧