黑马程序员技术交流社区
标题:
String 类
[打印本页]
作者:
周斌
时间:
2012-11-4 01:06
标题:
String 类
本帖最后由 周斌 于 2012-11-7 12:01 编辑
String s1 = "hello";
String s2 = "hello";
上面两句与下面两句有什么不同呢?
String s1 = new String("hello");
String s2 = new String("hello");
作者:
种生祥
时间:
2012-11-4 01:16
本帖最后由 种生祥 于 2012-11-4 01:18 编辑
String s1 = "hello";
String s2 = "hello";//
s1,s2是字符串
上面两句与下面两句有什么不同呢?
String s1 = new String("hello");
String s2 = new String("hello");//
s1,s2是String类的对象并进行初始化
String s1 = "hello";
等效于
char data[] = {'h','e','l','l','o'};
String s1 = new String(data);
作者:
颜峰
时间:
2012-11-4 01:41
上面两句是定义了两个String类型的引用变量指向了同一个字符串,s1==s2返回true
后面两句是定义了两个不同的String对象,内容都是hello,s1==s2返回false,s1.equels(s2)返回true
作者:
任雷彬
时间:
2012-11-4 09:58
本帖最后由 任雷彬 于 2012-11-4 10:06 编辑
String.png
(29.65 KB, 下载次数: 15)
下载附件
2012-11-4 09:58 上传
String s1= “hello”; 与String s2 =new String(“hello”);的区别是
String s1 包含一个对象,String s2包含两个对象。
因为字符串会存放在一个字符串池中,当创建对象是会先在字符串中寻找对象使用,
而 String s2 = new String(“hello”);中new会在堆内存中建立一个新的对象,而字符串对象还要在字符串
中寻找,所以又会建立一个对象。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2