黑马程序员技术交流社区
标题:
关于反射的小问题
[打印本页]
作者:
王峰峰
时间:
2014-4-5 10:09
标题:
关于反射的小问题
请问大家,这个程序哪儿不合适,存在异常。。。
import java.lang.reflect.Method;
public class Test01 {
public static void main(String[] args) throws Exception{
String str = "abcabc" ;
//取得Stirng类中的replace方法
Method method = String.class.getMethod("replace", String.class,String.class) ;
//替换str中的c为d并打印
System.out.println(method.invoke(str, "c","d")) ;
}
}
复制代码
作者:
郭黎明
时间:
2014-4-5 10:27
public class Test01 {
public static void main(String[] args) throws Exception{
String str = "abcabc" ;
Method method = String.class.getMethod("replace",char.class,char.class) ; //这个地方的参数要是char类型的
System.out.println(method.invoke(str, 'c','d')) ; //这个地方也要改为char类型
}
字符串的每一个字母都是char类型,利用反射得到replace方法时就要在方法中传入char的字节码,在method.invoke(str, 'c','d')时字母因为是char类型所以要单引号
作者:
yuon11937
时间:
2014-4-5 10:29
你要替换的是字符,不是字符串,replace方法接受的两个参数是,char类型的。replaceAll接受的两个参数才是String类型,你在看看API文档。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2