黑马程序员技术交流社区

标题: 成员变量反射代码报错 [打印本页]

作者: 垂天云    时间: 2013-9-17 11:00
标题: 成员变量反射代码报错
本帖最后由 垂天云 于 2013-9-17 20:51 编辑
  1. package cn.itcast.day01;

  2. import java.lang.reflect.Constructor;
  3. import java.lang.reflect.Field;

  4. public class ReflectTest {

  5. /**
  6. * @param args
  7. */
  8. /**
  9. * @param args
  10. * @throws Exception
  11. */
  12. public static void main(String[] args) throws Exception {
  13. // TODO Auto-generated method stub
  14. String str1 = "abc";
  15. Class cls1 = str1.getClass();
  16. Class cls2 = String.class;
  17. Class cls3 = Class.forName("java.lang.String");
  18. System.out.println(cls1 == cls2);
  19. System.out.println(cls1 == cls2);
  20. System.out.println(cls3 == cls2);

  21. System.out.println(cls1.isPrimitive());
  22. System.out.println(int.class.isPrimitive());
  23. System.out.println(int.class == Integer.class);
  24. System.out.println(int.class == Integer.TYPE);
  25. System.out.println(int[].class.isPrimitive());
  26. System.out.println(int[].class.isArray());

  27. //new String(new StringBuffer("abc"));
  28. Constructor constructor1 = String.class.getConstructor(StringBUffer.class);//该句报错???···肿么回事···求解决?
  29. String str2 = (String)constructor1.newInstance(new StringBuffer("abc"));
  30. System.out.println(str2.charAt(2));

  31. ReflectPoint pt1 = new ReflectPoint (3,5);
  32. Field fieldY = pt1.getClass().getField("y");
  33. fieldY.get(pt1);
  34. System.out.println(pt1);



  35. }

  36. }
复制代码
  1. package cn.itcast.day01;

  2. public class ReflectPoint {


  3. private int x;
  4. public int y;
  5. public ReflectPoint(int x, int y) {
  6. super();
  7. this.x = x;
  8. this.y = y;
  9. }
  10. }
复制代码
问题在注释中,报错了····不知道怎么解决·····


作者: 刘劲松    时间: 2013-9-17 11:15
constructor参数列表StringBuffer.class里面的u大写了。拼写错误。要学会看Eclipse的错误提示。
作者: jìng╮煜    时间: 2013-9-17 11:49
正如楼上所说, 大小写没搞清楚.   以后有相应的问题都可以看错误提示的.多看看就会明白的




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