[時(shí)間]:2009-4-5
[摘要]:警告:[unchecked]對(duì)作為普通類(lèi)型 java.lang.Class 的成員的 getMethod(java.lang.String,java.lang.Class <?>...) 的調(diào)用未經(jīng)檢查.
[關(guān)鍵字]:Class,getMethod,unchecked,反射,reflection,范型
[環(huán)境]:JDK6
[作者]:Winty (wintys@gmail.com)
[錯(cuò)誤]:
Class myClass = MethodPointerTest.class;
Method add = myClass.getMethod("add" , int.class , int.class );
上述代碼出現(xiàn)如下警告:Method add = myClass.getMethod("add" , int.class , int.class );
警告:[unchecked]對(duì)作為普通類(lèi)型 java.lang.Class 的成員的 getMethod(java.lang.String,java.lang.Class <?>...) 的調(diào)用未經(jīng)檢查.
[解決]:
是范型在作怪。Class修改為Class<?>:
Class<?> myClass = MethodPointerTest.class;
Method add = myClass.getMethod("add" , int.class , int.class );
Method add = myClass.getMethod("add" , int.class , int.class );