日期:2014-05-20  浏览次数:20688 次

String 的问题
String a="ja";
String b="va";
String c=a+b;
String d="ja"+"va";
String e="java";
System.out.println((e==d)+" "+(e=c))
结果为:true false 
为什么?其中+的作用到底怎么说?

------解决方案--------------------
System.out.println((e==d)+" "+(e=c))
括号里的优先级最高 (e==d) 执行的是条件运算返回的结果 boolean类型的 true or false 
当+ " " 被理解为字符串链接操作.boolean 会先被强制转换为String类型 
(e=c) 执行的是复制运算
所以结果 肯定不是 true fasle 
应该是 true java
PS:e=c 是不是少带了一个符号

------解决方案--------------------
http://blog.csdn.net/mengxiangyue/article/details/6818142
看看这篇文章你就懂了