黑马程序员技术交流社区
标题:
到底哪个是true
[打印本页]
作者:
潘际昌
时间:
2013-11-24 11:02
标题:
到底哪个是true
A."john" ! = "john"
B."john".equals("john")
C."john" = "john"
D."john".equals(new Button("john"))
复制代码
作者:
樊志伟
时间:
2013-11-24 11:18
A."john"是==于"john"的,所以,false
B 字符串的equals方法复写了Object的equals方法,用来比较两个字符串内容是否相同。true
C 字符串一旦生成就没法改变,给一个字符串常量赋字符串,编译都过不了。
D是字符串和Button对象比,false
所以只有B是true
作者:
忘记了
时间:
2013-11-24 12:40
第一个是比较地址值,“john”第一次出现会在内存中弄一个地址停留一段时间,等着被调用。第二次出现就相当于指向那个地址。所以地址相同。
第二个是比较字符串内容,相等。是ture。
第三个就按1=3理解吧
第四个不懂。。。
作者:
王雷1
时间:
2013-11-24 14:50
第一个肯定为假,因为都是在在字符池中的字符串
第二个为真
第三个应该是为赋值动作吧,这个能成立么?
最后一个虽然new对象了,但比的东西仍然是同一个字符池中的,应该也还是真
作者:
卢泽
时间:
2013-11-24 15:09
我觉得第三个应该是双等号吧? 如果真是双等号,那么,B和C就都是true了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2