1. 程式人生 > >Java學習筆記19:==與equals用法比較

Java學習筆記19:==與equals用法比較

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