更新時間:2022-09-05 來源:黑馬程序員 瀏覽量:
String 類代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被實現為此類的實例。也就是說,Java 程序中所有的雙引號字符串,都是 String 類的對象。String 類在 java.lang 包下,所以使用的時候不需要導包。
String類的特點
字符串不可變,它們的值在創建后不能被更改
- 雖然 String 的值是不可變的,但是它們可以被共享
- 字符串效果上相當于字符數組( char[] ),但是底層原理是字節數組( byte[] )
String類的構造方法
常用的構造方法
| 方法名 | 說明 | | --------------------------- | ----------------------------------------- | | public String() | 創建一個空白字符串對象,不含有任何內容 | | public String(char[] chs) | 根據字符數組的內容,來創建字符串對象 | | public String(byte[] bys) | 根據字節數組的內容,來創建字符串對象 | | String s = “abc”; | 直接賦值的方式創建字符串對象,內容就是abc |
示例代碼
public class StringDemo01 { public static void main(String[] args) { //public String():創建一個空白字符串對象,不含有任何內容 String s1 = new String(); System.out.println("s1:" + s1); //public String(char[] chs):根據字符數組的內容,來創建字符串對象 char[] chs = {'a', 'b', 'c'}; String s2 = new String(chs); System.out.println("s2:" + s2); //public String(byte[] bys):根據字節數組的內容,來創建字符串對象 byte[] bys = {97, 98, 99}; String s3 = new String(bys); System.out.println("s3:" + s3); //String s = “abc”; 直接賦值的方式創建字符串對象,內容就是abc String s4 = "abc"; System.out.println("s4:" + s4); } }
創建字符串對象兩種方式的區別
- 通過構造方法創建
通過 new 創建的字符串對象,每一次 new 都會申請一個內存空間,雖然內容相同,但是地址值不同
- 直接賦值方式創建
以“”方式給出的字符串,只要字符序列相同(順序和大小寫),無論在程序代碼中出現幾次,JVM 都只會建立一個 String 對象,并在字符串池中維護