赞
踩
JDK1.5 才开始有枚举类型,同时可爱的 Java 组织丰富了 switch 语句,即支持枚举。
朋友做了一个关于 人工智能的教程,教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!点 这里 可以跳转到教程,对人工智能感兴趣的同学可以了解一下。
在看下面内容之前,推荐大家看看博主之前写的一篇关于Java枚举的文章 Java 枚举:理解枚举本质,然后再看下面的内容。
下面举例给大家展示一下。
定义一个枚举类 Color,示例如下:
- public enum Color {
- RED("red color", 0),
- GREEN("green color", 1),
- BLUE("blue color", 2),
- YELLOW("yellow color", 3);
-
- Color(String name, int id) {
- _name = name;
- _id = id;
- }
-
- private String _name;
- private int _id;
-
- public String getName() {
- return _name;
- }
-
- public int getId() {
- return _id;
- }
-
- public static Color getColor(int max) {
- Random random = new Random(System.currentTimeMillis());
- int num = random.nextInt(max);
- switch (num) {
- case 0:
- return Color.RED;
- case 1:
- return Color.GREEN;
- case 2:
- return Color.BLUE;
- case 3:
- return Color.YELLOW;
- default:
- return Color.BLUE;
- }
- }
- }

为枚举 Color 提供了一个静态方法 getColor,可以获取随机的颜色值。
那么,可以结合 switch 语句这样使用,示例代码如下:
- public static void main(String[] args) {
- int len = Color.values().length;
- Color color = Color.getColor(len);
- switch (color) {
- case RED:
- System.out.println("select " + "RED");
- break;
- case GREEN:
- System.out.println("select " + "GREEN");
- break;
- case BLUE:
- System.out.println("select " + "BLUE");
- break;
- case YELLOW:
- System.out.println("select " + "YELLOW");
- break;
- default:
- System.out.println("select " + "unknow!!");
- break;
- }
- }

可以看出,switch 语句中条件值是 Color 对象。
附录:完整代码
- package mark.demo;
-
- import java.util.Random;
-
- public class EnumDemo {
-
- public static void main(String[] args) {
- int len = Color.values().length;
- Color color = Color.getColor(len);
- switch (color) {
- case RED:
- System.out.println("select " + "RED");
- break;
- case GREEN:
- System.out.println("select " + "GREEN");
- break;
- case BLUE:
- System.out.println("select " + "BLUE");
- break;
- case YELLOW:
- System.out.println("select " + "YELLOW");
- break;
- default:
- System.out.println("select " + "unknow!!");
- break;
- }
- }
-
- public enum Color {
- RED("red color", 0),
- GREEN("green color", 1),
- BLUE("blue color", 2),
- YELLOW("yellow color", 3);
-
- Color(String name, int id) {
- _name = name;
- _id = id;
- }
-
- private String _name;
- private int _id;
-
- public String getName() {
- return _name;
- }
-
- public int getId() {
- return _id;
- }
-
- public static Color getColor(int max) {
- Random random = new Random(System.currentTimeMillis());
- int num = random.nextInt(max);
- switch (num) {
- case 0:
- return Color.RED;
- case 1:
- return Color.GREEN;
- case 2:
- return Color.BLUE;
- case 3:
- return Color.YELLOW;
- default:
- return Color.BLUE;
- }
- }
- }
- }

欢迎关注我的微信公众号,一起学习,一起进步!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。