BLUE,RED,YELLOW;
}
public class EnumTest {
public void printColor(Color color)
{
switch(color)
{
case BLUE:
System.out.println("输出蓝色!");
break;
case RED:
System.out.println("输出红色!");
break;
case YELLOW:
System.out.println("输出黄色!");
break;
}
}
public static void main(String[] args) {
EnumTest test = new EnumTest();
test.printColor(Color.BLUE);
test.printColor(Color.RED);
test.printColor(Color.YELLOW);
//当然也可以直接用增强for循环来遍历枚举中所有的值:
//可以通过values()方法获得枚举的数组
for(Color c : Color.values())
{
System.out.println(c);
}
}
}
运行截图:
深一步的使用:
package com.jay.example;
/*
* 本代码演示的是枚举类的进一步使用
* 和类一样,枚举可以定义自己的属性和方法,但是
* 必须写在枚举列表的后面,不然会报编译时错误
* */
public class EnumTest2 {
public enum Color
{
//枚举可以像一般的类一样添加方法和属性
Red("红色"),BLUE("蓝色"),YELLOW("黄色");
//构造方法,不要写public修饰!
Color(String value)
{
this.value = value;
}
//定义一个成员变量
private final String value;
//定义一个获取后面值得方法
public String getValue()
{
return value;
}
}
public static void main(String[] args) {
EnumTest2 test = new EnumTest2();
//可以通过for循环调用获得枚举中所有的值
for(Color color : Color.values())
{
System.out.println(color);
System.out.println(color.getValue());
}
//可以通过ordinal获得枚举值在枚举中的索引位置,从0开始的
System.out.println(Color.BLUE.ordinal());
//枚举默认实现了java.lang.Comparable接口,可以直接调用compareTo对枚举值进行比较
//这里Red在Blue前面,所以是-1
System.out.println(Color.Red.compareTo(Color.BLUE));
}
}
运行截图:
编程中进行巩固,大家要做下相关的编程题目 做多了,知识点也就记得了!
如果文中有遗漏,错误,好的建议; 望读者指出,万分感激!!(*^__^*) 嘻嘻……