枚举,语法糖:泛型,foreach

语法糖:泛型,foreach 。编译后会进行擦除。不是真正的语法。

List<String> list = new ArrayList<String>();
		list.add("aaa");
		for(String s : list){
			System.out.println(s);
		}
		for(int i=0;i<list.size();i++){
			String str = list.get(i);
			System.out.println(str);
		}

使用jad,进行反编译。不要用jd-gui.     。。下载 http://varaneckas.com/jad/

用法

c:\java\>jad example1.class
c:\java\>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。

        List list = new ArrayList();
        list.add("aaa");
        String s;
        for(Iterator iterator = list.iterator(); iterator.hasNext(); System.out.println(s))
            s = (String)iterator.next();

        for(int i = 0; i < list.size(); i++){
            String str = (String)list.get(i);
            System.out.println(str);
        }

原生枚举类

public enum ResType {
	SUCCESS(10, "success"),
	NO_ACCOUNT(11, "query empty");
	
	private ResType(int code, String msg) {
		this.code = code;
		this.msg = msg;
	}
	
	private int code;
	private String msg;
	
	public String getMsg() {
		return msg;
	} 
	
	public int getCode() {
		return code;
	}
}

 反编译后的枚举类

public final class ResType extends Enum{
    private ResType(String s, int i, int code, String msg){
        super(s, i);
        code = code;
        this.msg = msg;
    }
    public static final ResType SUCCESS;
    public static final ResType NO_ACCOUNT;
    private int code;
    private String msg;
    private static final ResType ENUM$VALUES[];
    static {
        SUCCESS = new ResType("SUCCESS", 0, 10, "success");
        NO_ACCOUNT = new ResType("NO_ACCOUNT", 1, 11, "query empty");
        ENUM$VALUES = (new ResType[] {
            SUCCESS, NO_ACCOUNT
        });
    }
}

猜你喜欢

转载自luckywnj.iteye.com/blog/2235598