String x = "abc";
String y = "123";
System.out.println(x+";"+y);
x=y+((y=x)==""?"":"");
System.out.println(x+";"+y);
String y = "123";
System.out.println(x+";"+y);
x=y+((y=x)==""?"":"");
System.out.println(x+";"+y);
String y = "123"; //同上
System.out.println(x+";"+y); //输入x,y;输入内容为:abc;123x=y+((y=x)==""?"":"");
//1、x赋值给y,2、判断y是否为“”,为“”是返回“”,不为空“”时同样返回“”,3、y+“”,4、x=y+“”,所以最后x值为“123”
System.out.println(x+";"+y);//输出x,y;输出内容为:123;123
//1、x赋值给y,2、判断y是否为“”,为“”是返回“”,不为空“”时同样返回“”,3、y+“”,4、x=y+“”,所以最后x值为“123 ” //多个空格吧
String y = "123";
System.out.println(x+";"+y);x=y+((y=x)==""?"":"");
System.out.println(x+";"+y);我的理解是这样的:String x = "abc";"abc"是一个对象,x则是保存"abc"这个对象的地址。y=x的时候实际上是把"abc"的地址索引给了y,x=y+""中的y+""实际上就是"123"的对象加一个"",实现了一个新的对象然后给了x。
不知我的分析的对不对,请大家给解释下。