锁定老帖子 主题:一道邪恶的java基础题
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (5)
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-02
flyinbed 写道 java中判断两个字符串的值是否相同应该用equals,这样“==” 是判断两个字符串的地址是否相等
按常理应该是,不过String的鸟类比较特殊,按照Java的内存处理机制,相同的字符串Java不会再分配新的内存而是就那原来的那个。 这有一篇文章,很有用。http://www.iteye.com/topic/522167 |
|
返回顶楼 | |
发表时间:2010-10-03
这题有意思,逻辑强一点就能分析出来,
1.先运行 == 结果 "===>true" 2.先运行 + 结果 "false" 如果答案只有两个 我肯定选2 |
|
返回顶楼 | |
发表时间:2010-10-03
一看很容易考虑到String常量池去啦。
承认第一次看的时候确实没考虑到运算符优先级。 面壁面壁。。。 |
|
返回顶楼 | |
发表时间:2010-10-03
+ 号的优先级高于 == ,这题够邪恶的…………比的是其实是System.out.println( ("====>"+ a) == b),不是比a == b
|
|
返回顶楼 | |
发表时间:2010-10-04
false!如果是a.equals(b)的结果为====>true
|
|
返回顶楼 | |
发表时间:2010-10-04
true
String s1=new String("abc"); String s2=new String("abc"); 结果如下: false true |
|
返回顶楼 | |
发表时间:2010-10-05
最后修改:2010-10-05
优先级 == equals 比较
|
|
返回顶楼 | |
发表时间:2011-01-30
应该是false
|
|
返回顶楼 | |
发表时间:2011-01-30
package corejava;
public class TestSZH { public static void main(String []args){ String a ="abc"; String b ="abc"; System.out.println(a==b); } } 输出;true a==b 比两个对象是否相等 就是a字符串否与b字符串相等? a=abc b=abc 可定相等,所以true。 package corejava; public class TestSZH { public static void main(String []args){ String a ="abc"; String b ="abc"; System.out.println("====>"+a==b); } } 输出:false 因为"======>"是字符串 a==b 是将字符串里面的东西进行比较,就是字符串里面的 a和b进行比较,肯定a不等于b,所以false。 |
|
返回顶楼 | |
发表时间:2011-01-30
呸......
你怎么不用一个全角加号呢还编译不通过呢..... a+b=b 肯定编译不过去 可定不能通过 a+b 就是两个字符串和在一起 ,abcabc !=abc?您说能等于abc!!!!!在说如果想编译强转吧!!!!!! |
|
返回顶楼 | |