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
}
}
}
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
}
}
}
相关文章推荐
- java枚举类enum的使用
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- Java Enum 枚举类的使用一例
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- Java enum枚举类使用小技巧
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- 【java基础】【Enum枚举类使用】
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum
- Java枚举类的基本使用Enum