黑马程序员技术交流社区
标题:
反射-Method部分的一个小程序,报了异常,求解决
[打印本页]
作者:
wata
时间:
2015-1-17 00:04
标题:
反射-Method部分的一个小程序,报了异常,求解决
本帖最后由 wata 于 2015-1-17 00:07 编辑
/**
* 需求:
* 用用Method字节码执行String str = "abc"; str.CharAt(1);
*
* 步骤:
* 1,获取String类charAt(int index)方法的Method字节码
* 2,用Method字节码执行Str.CharAt(1);
* 3,打印结果
*/
public static void reflectMethod() throws Exception{
String str = new String("abc");
//获取String类charAt(int index)方法的Method字节码
Method methodCharAt = String.class.getMethod("CharAt", int.class);
//用Method字节码执行Str.CharAt(1),并打印结果
System.out.println(methodCharAt.invoke(str, 1));
/*
* Object invoke(Object obj, Object... args) :
* 对指定对象调用由此 Method 对象表示的方法。
*
* obj - 从中调用底层方法的对象
* args - 用于方法调用的参数
*/
}
复制代码
报的异常是:java.lang.NoSuchMethodException: java.lang.String.CharAt(int)
我哪里写错了?求解决!!!
--------------------------------------
汗。。。我解决了
我把CharAt中的c大写了,应该是:
Method methodCharAt = String.class.getMethod("charAt", int.class);
==!
作者:
空白Top
时间:
2015-1-17 00:14
bing构 哈哈 好像都是第二个字母开始大写
第一个都是小写的 比如 indexOf 之类的
作者:
Smart_lll
时间:
2015-1-19 16:23
毕老师说的基本命名规则可以解决这一问题,我以前也总写错。。。
作者:
志ぁ才☆博ぁ成
时间:
2015-1-19 22:44
写程序时的最头痛的就是大小写和中英文切换问题。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2