一.枚举(enum)的简单使用
1.创建一个简单枚举
enum Signal { GREEN, YELLOW, RED }
2.使用
public static void dosome(Signal signal) {
switch (signal) {
case RED:
System.out.println(Signal.RED);
break;
case YELLOW:
System.out.println("YELLOW");
break;
case GREEN:
System.out.println("GREEN");
break;
default:
break;
}
}
public static void main(String[] args) {
Signal color = RED;
dosome(color);
}
二、带参数的枚举类型
1.创建带参数的枚举类型
public enum Color {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
// 成员变量
private String name;
private int index;
// 构造方法
Color(String name, int index) {
this.name = name;
this.index = index;
}
// 普通方法
public static String getName(int index) {
for (Color c : Color.values()) {
if (c.getIndex() == index) {
return c.name;
}
}
return null;
}
// get set 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}
2.使用
public static void main(String[] args) {
System.out.println(Color.YELLO.getIndex()); ;
Color color = Color.RED;
color.getName();
}
三、实现接口的枚举类型
public interface Behaviour {
void print();
String getInfo();
}
public enum Color implements Behaviour {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
// 成员变量
private String name;
private int index;
// 构造方法
private Color(String name, int index) {
this.name = name;
this.index = index;
}
// 接口方法
@Override
public String getInfo() {
return this.name;
}
// 接口方法
@Override
public void print() {
System.out.println(this.index + ":" + this.name);
}
}