反编译后还有泛型信息
java编译时擦除泛型,反编译后应该没有泛型信息,怎么解释下反编译后还保留泛型信息的例子
反编译后声明的变量Map<String, Object> map没有擦除
还有方法返回类型没有擦除
源程序
public class MyMain {
Map<String, Object> map = new HashMap<String, Object>();
public static void main(String[] args) {
System.out.println("fdsaaaaaa");
}
public List<String> method(List<String> ls) {
System.out.println("List<String>");
return null;
}
private String abc() {
List<String> ls = new ArrayList<>();
ls.add("333");
return "fsda";
}
}
反编译后:
public class MyMain
{
Map<String, Object> map = new HashMap();
public static void main(String[] args) {
System.out.println("fdsaaaaaa");
}
public List<String> method(List<String> ls) {
System.out.println("List<String>");
return null;
}
private String abc() {
List ls = new ArrayList();
ls.add("333");
return "fsda";
}
}