A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘源 中级黑马   /  2012-8-4 11:26  /  1240 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘源 于 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);这个什么都打印不出来呢
问题已经解决”。

2 个回复

倒序浏览
你是不是没有给str2赋值啊?
回复 使用道具 举报
本帖最后由 胡文凡 于 2012-8-4 12:08 编辑

String str2 = (String)String.class.newInstance();
调用的不带参数的构造方法
而String不带参数的构造方法为:
String()
          初始化一个新创建的 String 对象,使其表示一个空字符序列。
所以str2为一个空字符序列,所以打印出来的就是空白的了
进一步验证:
    System.out.println(str2.equals(""));//true
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马