黑马程序员技术交流社区

标题: 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