Java學習筆記19:==與equals用法比較
阿新 • • 發佈:2019-01-05
String s1="abc"; String s2="abc"; System.out.println(s1==s2);//true System.out.println(s1.eqauls(s2));//true //建立了幾個物件? String s1=new String("abc");//兩個物件,常量池新物件及堆記憶體一個副本 String s1=new String("abc"); String s2="abc"; System.out.println(s1==s2);//false,地址值不同 System.out.println(s1.eqauls(s2));//true,常量池 String s1="a"+"b"+"c"; String s2="abc"; System.out.println(s1==s2);//true,常量優化機制,編譯器完成字串,s1建立,s2不用操作 System.out.println(s1.eqauls(s2));//true String s1="ab"; String s2="abc"; String s3=s1+"c"; System.out.println(s3==s2);//false System.out.println(s3.eqauls(s2));//true