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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Hison_lian 中级黑马   /  2015-5-18 00:40  /  2360 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s = “helloworld”;
        S2=“hello”
        S3=“world”
        S==“hello”+”world”?  true or false
        S==s2+s3?  true or false


18 个回复

倒序浏览
true false
回复 使用道具 举报
不懂。学习下
回复 使用道具 举报
是不是都是false啊,好像两个是不同的地址?我也不太懂,学习下
回复 使用道具 举报
true false
回复 使用道具 举报
第一个ture 因为前面是两个常量拼接在一起,再去找有没有拼接后的常量。第二个是 false,因为S2和S3是两个变量是先开空间再拼接在一起,所以不和S地址值不一样。
回复 使用道具 举报
两个都是false  
回复 使用道具 举报
1,true 2,false
回复 使用道具 举报
经代码验证,答案为true, false
回复 使用道具 举报
没错,第一个是true ,第二个是false
回复 使用道具 举报
true  false
回复 使用道具 举报
String s = “helloworld”;
        S2=“hello”
        S3=“world”
        S==“hello”+”world”?  true or false
        S==s2+s3?  true or false
首先因为版面原因考下你的代码;
String类型具有不变性我想这个你应该知道   根据课程进度这个解答应该是:
1  s==“hello”+”world” 比较的是真实地址值 s对象是由hello和world这两个元素组成的内存不再开辟空间 s储存的是他们两个对象的地址值所以是true
2  s==s2+s3   s2和s3是两个对象  s是一个对象 所以地址不可能所以是false

回复 使用道具 举报
呵呵........
回复 使用道具 举报
亲,首先我都不知道你这代码是怎么写的,    对于  S==“hello”+”world”这语法本身就是错的
对于S==S2+S3:由于==比较的是String对象的地址,那么肯定这个结果是false
如果说 用的是equals,由于String本身就已经重写了equals方法,所以它们比较的是内容,答案是true
,楼主,解释的够清楚吧= =
回复 使用道具 举报
这个和常量池的运行规则有关!字符变量与字符变量相加~以及字符与字符相加!是两个不同运算!
具体没有记清除!你查找一下视频!
回复 使用道具 举报
s = "hello"+"world"(true)   s==s2+s3; (false)
回复 使用道具 举报
第一个是true,第二个是false
回复 使用道具 举报
tring s = “helloworld”;
        S2=“hello”
        S3=“world”
        S==“hello”+”world”?  true or false
        S==s2+s3?  true or false
首先因为版面原因考下你的代码;
String类型具有不变性我想这个你应该知道   根据课程进度这个解答应该是:
1  s==“hello”+”world” 比较的是真实地址值 s对象是由hello和world这两个元素组成的内存不再开辟空间 s储存的是他们两个对象的地址值所以是true
2  s==s2+s3   s2和s3是两个对象  s是一个对象 所以地址不可能所以是false
回复 使用道具 举报
第一个是ture,常亮优化机制,第二个是false,两个对象先在堆里面开辟StringBuffer,在里面一通运算把StringBuffer地址值传给s
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马