您的位置:首页 > 编程语言 > Java开发

java枚举

2016-06-09 01:43 537 查看
枚举 —– 用来对一定范围内的值 进行取值

枚举语法 : enum 枚举类名称 { 枚举对象实例,枚举对象实例… ; }

* 可读性良好、阻止非法数据

案例:员工和角色案例 —-枚举技术由来

* 应用 :多个固定取值范围中 取一个值 , 三选一效果

Java数据类型有几种:两大种 引用数据类型 原始数据类型

引用数据类型 :interface class 数组 enum

原始数据类型 :8种

每一个枚举值 在编译.class文件后,成为枚举成员对象(常量)

枚举类构造器 必须private 的

JDK5 switch 可以接受五种数据 类型 byte 、short 、int 、char、enum

JDK7 switch 可以接受六种 : 多了一种String

这是两个枚举类实现星期的转换(注意两种写法的不同)

/**
* 星期输出中文案例
*
* @author seawind
*
*/
public class WeekDayTest {
public static void main(String[] args) {
WeekDay1 day1 = WeekDay1.Fri;
day1.show();

WeekDay2 day2 = WeekDay2.Wed;
day2.show();
}
}

enum WeekDay2 {
Mon {
@Override
public void show() {
System.out.println("星期一");
}
},
Tue {
@Override
public void show() {
System.out.println("星期二");
}
},
Wed {
@Override
public void show() {
System.out.println("星期三");
}
},
Thu {
@Override
public void show() {
System.out.println("星期四");
}
},
Fri {
@Override
public void show() {
System.out.println("星期五");
}
},
Sat {
@Override
public void show() {
System.out.println("星期六");
}
},
Sun {
@Override
public void show() {
System.out.println("星期日");
}
};
public abstract void show();
}

enum WeekDay1 {
Mon, Tue, Wed, Thu, Fri, Sat, Sun;

// 编写方法 show
public void show() {
// 根据枚举对象 名字 返回响应中文星期
if (this.name().equals("Mon")) {
System.out.println("星期一");
} else if (this.name().equals("Tue")) {
System.out.println("星期二");
} else if (this.name().equals("Wed")) {
System.out.println("星期三");
} else if (this.name().equals("Thu")) {
System.out.println("星期四");
} else if (this.name().equals("Fri")) {
System.out.println("星期五");
} else if (this.name().equals("Sat")) {
System.out.println("星期六");
} else if (this.name().equals("Sun")) {
System.out.println("星期日");
}
}
}


枚举类型的一些方法:

//定义的枚举类
public enum Color {
RED,BLACK,BLUE;

}


@Test
public void demo1(){//枚举类型的方法测试
Color color=Color.RED;
System.out.println(color.name());
System.out.println(color.ordinal());
System.out.println("--------------");
String name="BLACK";
Color color2=Enum.valueOf(Color.class, name);
System.out.println(color2.name());

Color[] colorarray=Color.values();
System.out.println(Arrays.toString(colorarray));
Color color3=Color.valueOf("BLUE");
System.out.println(color3.name());

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 枚举