1. 程式人生 > >String類的常用方法以及知識點總結

String類的常用方法以及知識點總結

檢查 包括 生成 java sss 的區別 ava 數量 以及

一,String的簡介: 

  •   查閱API中的String類的描述,發現String 類代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作為此類的實例實現。
  •   一旦這個字符串確定了,那麽就會在內存區域中就生成了這個字符串。字符串本身不能改變,但str變量中記錄的地址值是可以改變的。
  •   字符串的本質是一個字符的數組(String類一旦被創建,就不能被改變)。

1.1,String常量池

  為了減少在JVM中創建的字符串的數量,字符串類維護了一個字符串池,每當代碼創建字符串常量時,JVM會首先檢查字符串常量池。如果字符串已經存在池中,就返回池中的實例引用。如果字符串不在池中,就會實例化一個字符串並放到池中。

  Note:String s = "aaa";

  這裏,jvm創建一個變量引用s,在堆中創建一個對象aaa,將aaa放進常量池。s指向aaa。
    然後就到了change方法裏,常量池在java用於保存在編譯期已確定的,已編譯的class文件中的一份數據。它包括了關於類,方法,接口等中的常量,也包括字符串常量。

1.2,String s = "aaa";與String s = new String("aaa");的區別:

  String s = "aaa"; 對象只是一個引用,內存中如果有"aaa"的話,s就指向它;如果沒有,才創建它;
如果你以後還用到"aaa"這個字符串的話並且是這樣用:

String ss = "aaa"; String sss = "aaa"; 這三個變量都共享"aaa"。
而String s = new String("aaa");是根據"aaa"這個String對象再次構造一個String對象,將新構造出來的String對象的引用賦給aaa

1.1,String常用方法

  1.public String(); //空參構造 初始化一個新創建的 String 對象,使其表示一個空字符序列

String類的常用方法以及知識點總結