文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于论坛上的一道基础java试题的剖析

关于论坛上的一道基础java试题的剖析

时间:2010-10-04  来源:lovejjhao

今天在论坛上看见一道这样的题目

一道邪恶的java基础题

String a = "abc";
String b = "abc";
System.out.println("====>"+ a==b );

请问输出结果是true还是false?虽然很基础,大家也都来试试吧!呵呵
  这是原帖 我们看楼下的解释 2楼 答案是false,地址不相同,”==“是地址比较,equre是内容比较。呵呵~!初学者理解哦!!不对请指出!!谢谢了! 这个解释看上去没错 但事实是这样么? 我们看 上述程序结果确实是false 但是我们改一下程序
String a = "abc";
String b = "abc";
System.out.println("====>"+ (a==b) );
结果就为true
为什么呢?
很简单 运算符优先级问题
+号的优先级大于==
所以第一个程序先执行"====>"+ a 然后将这个结果与b进行==比较,所以地址就不再一样,返回false,而第2次先将a与b进行==比较,再与"====>"运算,所以为true
如果程序改成这样 String a = new String("abc");
String b = new String("abc");
System.out.println("====>"+ (a==b) );
那么这样的结果才是false
也是2楼的解释~
希望大家不要单纯看知识点,多结合实际问题,不要想当然
相关阅读 更多 +
排行榜 更多 +
边境检察最后区域手机版下载

边境检察最后区域手机版下载

角色扮演 下载
酋长你别跑手游下载

酋长你别跑手游下载

休闲益智 下载
心动漫画app下载官方版

心动漫画app下载官方版

浏览阅读 下载