语法糖:泛型,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 }); } }