黑马程序员技术交流社区
标题:
String类练习题
[打印本页]
作者:
Hison_lian
时间:
2015-5-18 00:40
标题:
String类练习题
String s = “helloworld”;
S2=“hello”
S3=“world”
S==“hello”+”world”? true or false
S==s2+s3? true or false
作者:
王建伟
时间:
2015-5-18 08:36
true false
作者:
niuapp
时间:
2015-5-18 08:41
不懂。学习下
作者:
hsx500
时间:
2015-5-18 08:51
是不是都是false啊,好像两个是不同的地址?我也不太懂,学习下
作者:
刘冬
时间:
2015-5-18 09:07
true false
作者:
hellotaomi
时间:
2015-5-18 10:21
第一个ture 因为前面是两个常量拼接在一起,再去找有没有拼接后的常量。第二个是 false,因为S2和S3是两个变量是先开空间再拼接在一起,所以不和S地址值不一样。
作者:
LoveMyself
时间:
2015-5-19 12:45
两个都是false
作者:
东大小宇哥
时间:
2015-5-19 14:53
1,true 2,false
作者:
iamnoten
时间:
2015-5-19 16:04
经代码验证,答案为true, false
作者:
herojing
时间:
2015-5-19 20:59
没错,第一个是true ,第二个是false
作者:
我干阿衰
时间:
2015-5-19 21:29
true false
作者:
姜秋艺
时间:
2015-5-19 21:52
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
作者:
吴富其
时间:
2015-5-19 22:02
呵呵........
作者:
sss18310878521
时间:
2015-5-19 22:15
亲,首先我都不知道你这代码是怎么写的, 对于 S==“hello”+”world”这语法本身就是错的
对于S==S2+S3:由于==比较的是String对象的地址,那么肯定这个结果是false
如果说 用的是equals,由于String本身就已经重写了equals方法,所以它们比较的是内容,答案是true
,楼主,解释的够清楚吧= =
作者:
!85684009ex
时间:
2015-5-19 23:43
这个和常量池的运行规则有关!字符变量与字符变量相加~以及字符与字符相加!是两个不同运算!
具体没有记清除!你查找一下视频!
作者:
黯然残影
时间:
2015-5-20 00:26
s = "hello"+"world"(true) s==s2+s3; (false)
作者:
AC12345
时间:
2016-11-17 11:51
第一个是true,第二个是false
作者:
请叫我廖小帅
时间:
2016-11-17 20:13
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
作者:
明月已驻人何在
时间:
2016-11-17 20:30
第一个是ture,常亮优化机制,第二个是false,两个对象先在堆里面开辟StringBuffer,在里面一通运算把StringBuffer地址值传给s
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2