黑马程序员技术交流社区

标题: 反射异常-IllegalArgumentException: argument type mismatch [打印本页]

作者: 傅宇    时间: 2013-3-13 10:58
标题: 反射异常-IllegalArgumentException: argument type mismatch
本帖最后由 傅宇 于 2013-3-13 13:18 编辑
  1. import java.lang.reflect.Constructor;
  2. import java.lang.reflect.InvocationTargetException;

  3. public class ts1 {
  4.         public static void main(String[] args) throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
  5.                 Constructor cons1 = String.class.getConstructor(StringBuffer.class);
  6.                 String str = (String)cons1.newInstance("abc");
  7.                 System.out.println(str.charAt(2));
  8.         }
  9. }
复制代码
为什么会报IllegalArgumentException: argument type mismatch?求解!
作者: 李易烜    时间: 2013-3-13 12:27
本帖最后由 李易烜 于 2013-3-13 12:34 编辑

构造器constructor:
   String(StringBuffer) //这个是不对的
   String(String)  //这样就行了
  1. main(){
  2.     Class clazz = Class.forName("java.lang.StringBuffer");
  3.      String str = ((StringBuffer) clazz.newInstance()).append("abc").toString();
  4.      System.out.println(str.charAt(2));
  5.         //另外一种方式
  6.      Constructor con = String.class.getConstructor(String.class);
  7.      String str2 = (String) con.newInstance("abc");
  8.      System.out.println(str2.charAt(2));
  9. }
复制代码

作者: 陈丽莉    时间: 2013-3-13 13:07
有问题的话继续追问,否则请将帖子分类改成【已解决】~




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