Java 枚举:switch 支持枚举
2012-09-05 18:04
197 查看
JDK1.5 才开始有枚举类型,同时可爱的 Java 组织丰富了 switch 语句:支持枚举。
定义一个枚举类 Color
为 Color 提供了一个静态方法 getColor,可以随机获取颜色值。
那么,可以结合 switch 语句这样使用:
可以看出,switch 语句中是 Color 对象。
------------------------------附录
完整代码
定义一个枚举类 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; } } }
}
相关文章推荐
- 在java的switch支持的类型
- 枚举---java类集对枚举的支持
- java switch支持的数据类型
- maven 编译报错 java: -source 1.5 中不支持switch 中存在字符串
- 【好用的枚举】Enumeration,现在switch支持枚举类型
- Java中枚举方法举例以及switch分析
- maven 编译报错 java: -source 1.6 中不支持switch 中存在字符串
- java -source 1.6 中不支持 switch 中存在字符串
- Java switch 枚举
- java: -source 1.6 中不支持 switch 中存在字符串 和 "compileDebugJavaWithJavac"的错误解决
- java: -source 1.6 中不支持switch 中存在字符串
- Java的switch是否支持String作为参数,还支持哪些类型?
- java7 switch case支持字符串的原理解析
- Java 中switch语句所支持的类型
- java和c语言的switch语句支持哪些数据类型
- Java中switch都可以支持哪些数据类型
- Java Switch支持的类型问题
- java switch支持的数据类型
- Java的switch是否支持String作为参数,还支持哪些类型?
- Java中switch支持字符串原理