我多加了一个S3,首先s1s2s3都建了一个对象,
首先s2和s3值是一样的,但是地址不一样,
所以s2和s3是两个,s1也是一个,,,
同理你的问题也是这样的,,,{:3_57:}
- String s1="x",String s2 =s1+"y"
- String s1 = "x";
- String s2 = s1 + "y";
- String s3 = "x" + "y";
- System.out.println(s2);
- System.out.println(s3);
- System.out.println(s2 == "xy");
- System.out.println(s2.equals( "xy"));
- System.out.println(s3 == "xy");
- System.out.println(s3.equals("xy"));
- s1,s2,s3各自有一个对象所以是三个对象,但是s2在数值上等于s3,s2==s3为假而 s2.equals( s3)为真。
- String s1,String s2又是一个对象,但是String类中有equals方法,equal比较的是两个对象中的值而不是对象和值,==比较的是对象和值。看似s3=s2但是s3和s2是两个不同的对象。
复制代码
嘻嘻嘻 。。。。。。共同进步{:3_51:} |