更改:
Class type = Integer.classInteger i = verifyType("100",type);至
Class<Integer> type = Integer.classInteger i = verifyType("100",type);通过仅将类型声明为“ Class”,就失去了通用参数,并且verifyType()方法无法推断出该类,因此产生了未经检查的警告。
这个问题:
Map<String, Class> format = new HashMap<String, Class>();format.put("Vendor Number", Integer.class);format.put("Vendor Dispatch", Date.class);Integer i = verifyType("100",format.get("Vendor Number"));由于类型擦除,无法真正解决。编译器无法基于运行时使用的通用参数来推断类型。这是因为Java泛型只不过是用于转换的烟雾和镜像。



