黑马程序员技术交流社区

标题: 【已解决】String练习时候遇到的问题 [打印本页]

作者: 黑龙江—刘鹏    时间: 2012-8-28 20:11
标题: 【已解决】String练习时候遇到的问题
本帖最后由 黑龙江—刘鹏 于 2012-8-28 20:35 编辑

String s = "";
这句话代表什么呢;
就是说 s的对象是什么内容啊
作者: 张振纲    时间: 2012-8-28 20:15
表示String s的引用指向""字符串
作者: 杨卫腾    时间: 2012-8-28 20:26
s 存储了没有内容的字符串""的地址,也就是说String s 的引用指向了 "" 的地址。  这样的好处会避免出现空指针异常。
作者: 王金科    时间: 2012-8-28 20:28
  1. public class Test {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args){
  6.                 // TODO Auto-generated method stub
  7.                 String str1 = "";
  8.                 String str2 = new String();
  9.                 System.out.println(str1.equals(str2));
  10.         }
  11. }
复制代码
这里返回的结果为true
s指向的内容为空

作者: 黑龙江—刘鹏    时间: 2012-8-28 20:34
王金科 发表于 2012-8-28 20:28
这里返回的结果为true
s指向的内容为空

谢谢啦:victory:
作者: 黑龙江—刘鹏    时间: 2012-8-28 20:34
杨卫腾 发表于 2012-8-28 20:26
s 存储了没有内容的字符串""的地址,也就是说String s 的引用指向了 "" 的地址。  这样的好处会避免出现空 ...

谢谢啦:victory:
作者: 黑龙江—刘鹏    时间: 2012-8-28 20:34
张振纲 发表于 2012-8-28 20:15
表示String s的引用指向""字符串

谢谢啦:victory:
作者: 申俊伟    时间: 2012-8-28 20:41
s对象是一个空字符序列,String的不带参数的构造方法:

“public String()初始化一个新创建的 String 对象,它表示一个空字符序列。注意,由于 String 是不可变的,不必使用该构造方法。 ”
你可以:
String str1=new String();
String str2=“”;
System.out.println(str1.equals(str2));
结果输出时true,即str2也是一个空字符串序列。




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