Java 枚举使用
所属分类 java
浏览量 1387
Color[] colors = Color.values();
for(Color item:colors){
System.out.println(item +","+item.name()+","+item.ordinal());
}
// java.lang.IllegalArgumentException: No enum constant dyyx.enumtest.Color.red
// System.out.println(Color.valueOf("red"));
System.out.println(Color.valueOf("RED"));
for(Color2 item:Color2.values()){
// name() vs getName() , name() 枚举类自带方法
System.out.println(item +","+item.name()+","+item.ordinal()+","+item.getName());
}
// null
System.out.println(Color2.getByName("x"));
System.out.println(Color2.getByName("red"));
public enum Color {
RED,GREEN,BLUE
}
public enum Color2 {
RED("red"),GREEN("green"),BLUE("blue") ;
private final String name;
private Color2(String name){
this.name = name;
}
public String getName(){
return name;
}
public static Color2 getByName(String name){
if(name==null){
return null;
}
for(Color2 item:Color2.values()){
if(name.equals(item.name)){
return item;
}
}
return null;
}
}
Color2 枚举值比较多时, getByName 方法 可改为
private static final Map map = new HashMap();
static{
for(Color2 item:Color2.values()){
map.put(item.getName(), item);
}
}
public static Color2 getByName(String name){
return map.get(name);
}
上一篇
下一篇
未来简史笔记
《枪炮、病菌与钢铁》笔记
中国金融机构简介
半导体行业介绍及相关指数和ETF
前复权与后复权
回车与换行的区别