版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
目录
枚举比较
可以使用equals 也可以使用==
public enum CardType {
/**
*身份证
*/
SFZ("身份证", 1),
/**
* 居住证
*/
JZZ("居住证", 2),
/**
* 其他
*/
QT("其他", 3);
private String name;
private Integer value;
/**
* 构造方法
* @param name
* @param value
*/
CardType (String name, Integer value) {
this.name = name;
this.value = value;
}
/**
* code 转成枚举对象
* @param code
* @return
*/
public static CardType toEnum(Integer code) {
for (CardType category : CardType .values()) {
if (category.getValue().equals(code)) {
return category;
}
}
return null;
}
public static String getNameByValue(Integer value) {
for (CardType category : CardType .values()) {
if (category.getValue().equals(value)) {
return category.getName();
}
}
return "";
}
/**
* 检查枚举是否安全
* @param value
* @return
*/
public static Boolean chkIsSelfEnum(Integer value) {
for (CardType status : CardType .values()) {
if (status.getValue().equals(value)) {
return Boolean.TRUE;
}
}
return Boolean.FALSE;
}
public Integer getValue() {
return value;
}
public String getName() {
return name;
}
}
System.out.println("枚举使用==:"+(CardType.SFZ==CardType.SFZ));
System.out.println("枚举使用equals:"+(CardType.SFZ.equals(CardType.SFZ)));
枚举使用==:true
枚举使用equals:true
工具方法
枚举内部工具方法传值要和普通方法一样看待
测试代码
System.out.println("枚举值Integer和String:"+(EnumCreditType.SFZ.getValue().equals(101+"")));
System.out.println("枚举toEnum参数传String:"+(EnumCreditStatus.toEnum(1)));
枚举值Integer和String:false