字串物件構造方法建立和直接賦值的區別
阿新 • • 發佈:2018-12-18
/* * 通過構造方法建立的字串物件和直接賦值方式建立的字串物件有什麼區別呢? * 區別是:通過構造方法建立的字串物件是在堆記憶體。通過賦值建立的字串物件是在方法區的常量池 * * == * 基本資料型別:比較的是基本資料型別的值是否相同 * 引用資料型別:比較的是引用資料型別的地址值是否相同 (String是引用型別) */ public class StringDemo2 { public static void main(String[] args) { String s1=new String("hello");//通過構造方法建立字串物件 String s2="hello";//直接賦值建立的字串物件 System.out.println("s1:"+s1); System.out.println("s2:"+s2); //比較的是2個物件的地址 System.out.println("s1==s2:"+(s1==s2));//false String s3="hello"; System.out.println("s1==s3:"+(s1==s3));//false System.out.println("s2==s3:"+(s2==s3));//true } }
字串的內容是儲存在方法區的常量池裡面的,是為了方便字串的重複使用