`

[原]对Class.getMethod()的调用未经检查

阅读更多
[标题]:对Class.getMethod()的调用未经检查
[时间]:2009-4-5
[摘要]:警告:[unchecked]对作为普通类型 java.lang.Class 的成员的 getMethod(java.lang.String,java.lang.Class <?>...) 的调用未经检查.
[关键字]:Class,getMethod,unchecked,反射,reflection,范型
[环境]:JDK6
[作者]:Winty (wintys@gmail.com)

[错误]:
Class myClass = MethodPointerTest.class;
Method add = myClass.getMethod("add" , int.class , int.class );
上述代码出现如下警告:
警告:[unchecked]对作为普通类型 java.lang.Class 的成员的 getMethod(java.lang.String,java.lang.Class <?>...) 的调用未经检查.

[解决]:
是范型在作怪。Class修改为Class<?>:
Class<?> myClass = MethodPointerTest.class;
Method add = myClass.getMethod("add" , int.class , int.class );
分享到:
评论

相关推荐

    class.getMethods()

    NULL 博文链接:https://sxk4429.iteye.com/blog/645624

    jface开发的几个包都在里面了

    at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.getMainMethod(Unknown Source) at sun.launcher.LauncherHelper....

    Java 反射(Reflection) 经典实用例子

    Method method = ownerClass.getMethod(methodName, argsClass):通过Method名和参数的Class数组得到要执行的Method。 method.invoke(owner, args):执行该Method,invoke方法的参数是执行这个方法的对象,和参数...

    ReflectionUtil:反射工具包

    Method concat = String.class.getMethod("concat", new Class[]{String.class}); Method println = PrintStream.class.getMethod("println", new Class[]{String.class}); builder.constant("hello") //定义常量 ....

    KillRunApkApplication.rar

    Method method = Class.forName("android.app.ActivityManager").getMethod("forceStopPackage", String.class); method.invoke(mActivityManager, packageName); //packageName是需要强制停止的应用程序包名

    Java反射封装库joor.zip

    try { Method m1 = department.getClass().getMethod("getEmployees"); Employee employees = (Employee[]) m1.invoke(department); for (Employee employee : employees) { Method m2 = employee.getClass()....

    JAVA发送HttpClient请求及接收请求完整代码实例

    NULL 博文链接:https://bijian1013.iteye.com/blog/2310211

    关于操作反射的部分代码

    Method method1=c.getMethod("setPwd", new Class[]{String.class}); method1.invoke(obj, new Object[]{"222"}); Method method2=c.getMethod(method_name, new Class[0]); method2.invoke(obj, new Object...

    个人java总结笔记

    Class对象.getConstructor(参数类型的Class对象 如 String.class); 获得指定参数的公共构造方法 Class对象.getConstructors(); 获得全部公共的构造方法 Class对象.getMethod(“方法名的字符串”,方法的参数类型的...

    微机原理实验报告

    TypMis .GetMethod("PutValue").Invoke(mispos, new Object[] { "CardType", "01" }TypMis .GetMethod("PutValue").Invoke(mispos, new Object[] { "CardType", "01" }TypMis .GetMethod("PutValue").Invoke(mispos,...

    Android 一键加速(内存清理、缓存清理) 源码

    Method method = Class.forName("android.app.ActivityManager").getMethod("forceStopPackage",String.class); method.invoke(mActivityManager, pkgList[j]); // packageName是需要强制停止的应用...

    如何清空缓存

    Method method = pm.getClass().getMethod("deleteApplicationCacheFiles", String.class,IPackageDataObserver.class); method.invoke(pm, packageName,new IPackageDataObserver.Stub(){ @Override public void ...

    几种排序算法的比较(java代码)

    SortTest.class.getMethod(s, Number[].class).invoke(this, (Object)testNum); long end=System.currentTimeMillis(); System.out.println(s+":"+(end-begin)+"\t"); System.out.println(Arrays....

    Java 高级特性.doc

    Method charAt = Class.forName("java.lang.String").getMethod("charAt", int.class); System.out.println(charAt.invoke(str, 1)); ------------------------- 讲Field //成员变量 ReflectPoint point = new ...

    spring aop 实现源代码--xml and annotation(带lib包)

    在这个例子中,记录日志的代码并没有横切到我们的业务代码中,LogBeforeAdvice和HttpMessageSender彼此不知道对方的存在,而且我们的应用程序AdviceDemo对LogBeforeAdvice的存在也是一无所知。假如有一天我们的应用...

    c# 反射实例

    MethodInfo method = type.GetMethod(methodName); object[] parameters = new object[] { param }; // 创建实例;调用方法(传递参数,获取返回值) object instance = assembly.CreateInstance(type.ToString()...

    带注释的Bootstrap.java

    private static final Log log = LogFactory.getLog(Bootstrap.class); /** * Daemon object used by main. */ private static Bootstrap daemon = null; private static final File catalinaBaseFile; ...

    Emit实现AOP示例

    var propMethod = ctxType.GetMethod("set_ParameterArgs"); il.Emit(OpCodes.Ldloc, ctx); il.Emit(OpCodes.Ldloc_0); il.Emit(OpCodes.Call, propMethod); int m = attrs.Length; LocalBuilder[] lbs = new...

    Spring原理模拟代码

    Method m = o.getClass().getMethod(methodName, beanObject.getClass().getInterfaces()[0]); m.invoke(o, beanObject); } } } @Override public Object getBean(String name) { return ...

    gotcha:用于捕获方法调用的库。 可以与Java 8 lambdas一起使用以提供类型安全的方法引用

    Method method1 = Methods.get(MyClass.class, MyClass::noArgsMethod); Method method2 = Methods.get(MyClass.class, c -&gt; c.methodWithArgs(arg1, arg2)); 捕获带有参数的方法调用。 Invocation invocation = ...

Global site tag (gtag.js) - Google Analytics