黑马程序员技术交流社区
标题:
关于反射新建对象不存在的问题。
[打印本页]
作者:
刘源
时间:
2012-8-4 11:26
标题:
关于反射新建对象不存在的问题。
本帖最后由 刘源 于 2012-8-4 17:27 编辑
部分代码如下:
String str2 = (String)String.class.newInstance();
System.out.println(str2==null);
System.out.println(str2);
System.out.println(str2.equals(null));
打印结果是:
false
(这个就是什么都没有,不是我多按了个回车)
fasle
这个str2到底是什么东西啊,打印结果什么都没有,但内容也不是null.
如果(str2==null)比较的是地址的话,地址也是存在的。那为什么
System.out.println(str2);这个什么都打印不出来呢
“
问题已经解决
”。
作者:
樊占江
时间:
2012-8-4 11:29
你是不是没有给str2赋值啊?
作者:
胡文凡
时间:
2012-8-4 12:07
本帖最后由 胡文凡 于 2012-8-4 12:08 编辑
String str2 = (String)String.class.newInstance();
调用的不带参数的构造方法
而String不带参数的构造方法为:
String()
初始化一个新创建的 String 对象,使其表示一个空字符序列。
所以str2为一个空字符序列,所以打印出来的就是空白的了
进一步验证:
System.out.println(str2.equals(""));//true
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2