string 缓冲区转化原理

来源:互联网 发布:高层管理,知乎 编辑:程序博客网 时间:2024/06/05 16:43

public class Demo3_String {public static void main(String[] args) {//demo3();//demo4();String s1="ab";//常量String s2="abc";//常量String s3=s1+"c";//变量System.out.println(s3==s2);System.out.println(s3.equals(s2));}private static void demo4() {//byte b=3+4; 在编译时有常量优化机制,把7赋值给bString s1="a"+"b"+"c";String s2="abc";System.out.println(s1==s2);//true,java中有常量优化机制System.out.println(s1.equals(s2));//true}private static void demo3() {//将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。 String s1="abc";//记录常量的地址值String s2="abc";String s3= new String("abc");//记录堆的地址值System.out.println(s1== s3);//falseSystem.out.println(s1.equals(s3)+",s1=s3的值");  System.out.println(s2.equals(s1));if (s1.equals(s2)) {System.out.println("名字相同");}else {System.out.println("名字不同");}}