枚举最大的特点只是有指定的几个对象可以使用。
做一个最简单的应用,定义一个表示性别的枚举类,很明显只能有两个对象,
所以现在的实现如下:
class Person{
private String name;
private int age;
private Sex sex;
public Person(String name,int age,Sex sex) {
this.name=name;
this.age=age;
this.sex=sex;
}
public String toString() {
return "Person [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
}
enum Sex{
MALE("男"),FEMALE("女");
private String title;
private Sex(String title) {
this.title=title;
}
public String toString() {
return this.title;
}
}
public class TestDemo {
public static void main(String[] args) {
Person per=new Person("张三",20,Sex.MALE);
System.out.println(per);
}
}
//Person [name=张三, age=20, sex=男]
另外需要注意的是枚举本身还支持Switch判断。也就是说switch按照时间进度来讲,最初只支持int和char,到了jdk1.5的时候支持枚举,到了JDK1.7的时候支持了String。
范例:
enum Sex2{
MALE,FEMALE;
}
public class TestDemo2 {
public static void main(String[] args) {
switch(Sex2.FEMALE) {
case MALE:System.out.println("是男人");
break;
case FEMALE:System.out.println("是女人");
break;
}
}
}
实际上你可以清楚的感受到,好像不使用枚举所有的代码也可以写,所以爱用不用,别用最好,随便你用。
因为枚举在Java中出现太晚了,所以很多的人还不习惯于使用