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

java enum枚举类的使用

2014-10-30 10:29 423 查看
例:enum Color { NO,OFF}

1.ordinal()方法: 返回枚举值在枚举类种的顺序

Color.NO.ordinal();
//返回结果:0

2.compareTo()方法:
Enum实现了java.lang.Comparable接口,因此可以比较象与指定对象的顺序。Enum中的compareTo返回的是两个枚举值的顺序之差

Color.NO.compareTo(OFF);
//返回结果: -1

3. values()方法:
静态方法,返回一个包含全部枚举值的数组。

Color[]
colors=Color.values();

for(Color c:colors){

System.out.print(c+","); //返回结果:NO OFF

}

总结:

1. enum<->int

enum -> int: int i = enumType.value.ordinal();

int -> enum: enumType b= enumType.values()[i];

2. enum<->String

enum -> String: enumType.name()

String -> enum: enumType.valueOf(name);

实例:

public class StatusConstants {

public enum Status{

A(1,"1号"),

B(2,"2好"),

C(3,"3号");

private int value;

private String name;

private Status(int value, String name) {

this.value = value;

this.name = name;

}

public int getValue() {

return value;

}

public void setValue(int value) {

this.value = value;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public static String getName(int value) {

for (Status c : Status.values()) {

if (c.getValue() == value) {

return c.name;

}

}

return null;

}

}

}

public class Test {

public static void main(String[] args) {

System.out.println(StatusConstants.Status.getName(1));//输出:1号

for (StatusConstants.Status status : StatusConstants.Status.values()){

System.out.println(status.getValue());//输出1 2 3

System.out.println(status);//输出A B C

}

}

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