论坛首页 入门技术论坛

讨论一下

浏览 2466 次
锁定老帖子 主题:讨论一下
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-10-18  
3、有下面程序:
public class TestString
{
public static void main(String[] args)
{
String str1 = “abcd”;
String str2 = “abcd”;
String str3 = new String(“abcd”);
String str4 = new String(“abcd”);
System.out.println(str1==str2);
System.out.println(str3==str4);
}
}
输出结果是?
A true  true
B true  false
C false  true
D false  false


答案是B 请问一下 str1和str3的声明区别在哪里?
为什么用str1的声明方式 比较的是字符串
而用str3的生命方式比较的是字符串引用。
   发表时间:2007-10-18  
请去坛内搜索......

P.S: 谁告诉你str1比较的是字符串了
0 请登录后投票
   发表时间:2007-10-18  
大哥给我说一下嘛
我真的不明白。。。
0 请登录后投票
   发表时间:2007-10-18  
String是Immutable“类型”的
str1和str2的赋值后,内存中只有1个“abcd”
str3和str4的赋值后,内存中有3个“abcd”, 各自申请一块内存
无论哪种方式“==”都是比较地址的

我说的队不?

0 请登录后投票
   发表时间:2007-10-18  
汗你找的例子用的变量都是本论坛某个人起的。。。。一点都没变
0 请登录后投票
   发表时间:2007-10-18  
为什么str3里会有3个“abcd”啊
还是不明白
哪位能清楚的给我解释一下 谢谢了```
0 请登录后投票
   发表时间:2007-10-18  
str1和str3的这两种声明字符串的区别到底在哪里啊```
谢谢各位 帮助小弟一下
0 请登录后投票
   发表时间:2007-10-19  
fancool 写道
为什么str3里会有3个“abcd”啊
还是不明白
哪位能清楚的给我解释一下 谢谢了```

我没说str3里有3个“abcd”!!!!
0 请登录后投票
   发表时间:2007-10-19  
http://www.iteye.com/topic/11649
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics