黑马程序员技术交流社区

标题: 关于反射中Method的一点疑惑 [打印本页]

作者: 赵永康    时间: 2012-9-18 11:07
标题: 关于反射中Method的一点疑惑
Method methodcharAt=String.class.getMethod("charAt", int.class);
  methodcharAt.invoke(str,2);
大家看看这个代码有错吗??怎么总是提示说NoSuchMethodException;;求解
作者: 梁志冰    时间: 2012-9-18 11:12
沙发,呵呵,学习中
作者: 武庆东    时间: 2012-9-18 11:16
Method methodcharAt=String.class.getMethod("charAt", int.class);
  methodcharAt.invoke(str,2);
代码没有错,应该是你没有抛出异常!

    public class A
    {
        public static void main(String[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException
        {   String str="abcdef";
            Method methodcharAt=String.class.getMethod("charAt", int.class);
             System.out.println(methodcharAt.invoke(str, 2));
        }
    }



作者: 赵永康    时间: 2012-9-18 17:26
本帖最后由 赵永康 于 2012-9-18 17:29 编辑
武庆东 发表于 2012-9-18 11:16
Method methodcharAt=String.class.getMethod("charAt", int.class);
  methodcharAt.invoke(str,2);
代码 ...


嗯 确实是忘记啦  谢谢啊
作者: 陈俊来    时间: 2012-9-18 17:32
记得以前是这样搞的 String propertyName = "x";
  PropertyDescriptor pd = new PropertyDescriptor(propertyName, member.getClass());
  Method methodSetX = pd.getWriteMethod();//得到Set方法
  methodSetX.invoke(member,7);





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2