首页  

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

前复权与后复权

回车与换行的区别