枚举类
public enum Payment {
card("银联", (short)1),
zhifubao("支付宝", (short)2),
weixin("微信", (short)3);
private String name;
private short value;
private Payment(String name, short value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public short getValue() {
return value;
}
private static HashMap<Short, Payment> map = null;
private synchronized static void initMap() {
if (map != null) {
return;
}
map = new HashMap<Short, Payment>();
Payment[] items = Payment.values();
for (Payment item : items) {
map.put(item.getValue(), item);
}
}
public static Payment find(Number value) {
if (value == null) {
return null;
}
if (map == null) {
initMap();
}
return map.get(value.shortValue());
}
}
获取枚举类某个值
List payments = Arrays.stream(Payment.values()).map(m -> m.getName()).collect(Collectors.toList());
if (payments .contains("支付宝")) {
Short payCode = Arrays.stream(Payment.values()).filter(s ->
s.getName().equals("支付宝")).map(m -> m.getValue()).findFirst().get();
system.out.println("payMode:" + payCode);
}