全國(guó)咨詢(xún)/投訴熱線:400-618-4000

首頁(yè)技術(shù)文章正文

String類(lèi)的特點(diǎn)是什么?String類(lèi)常用構(gòu)造方法

更新時(shí)間:2022-09-05 來(lái)源:黑馬程序員 瀏覽量:

String 類(lèi)代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被實(shí)現(xiàn)為此類(lèi)的實(shí)例。也就是說(shuō),Java 程序中所有的雙引號(hào)字符串,都是 String 類(lèi)的對(duì)象。String 類(lèi)在 java.lang 包下,所以使用的時(shí)候不需要導(dǎo)包。

String類(lèi)的特點(diǎn)

字符串不可變,它們的值在創(chuàng)建后不能被更改

- 雖然 String 的值是不可變的,但是它們可以被共享

- 字符串效果上相當(dāng)于字符數(shù)組( char[] ),但是底層原理是字節(jié)數(shù)組( byte[] )

String類(lèi)的構(gòu)造方法

常用的構(gòu)造方法

  | 方法名                      | 說(shuō)明                                      |
  | --------------------------- | ----------------------------------------- |
  | public   String()           | 創(chuàng)建一個(gè)空白字符串對(duì)象,不含有任何內(nèi)容    |
  | public   String(char[] chs) | 根據(jù)字符數(shù)組的內(nèi)容,來(lái)創(chuàng)建字符串對(duì)象      |
  | public   String(byte[] bys) | 根據(jù)字節(jié)數(shù)組的內(nèi)容,來(lái)創(chuàng)建字符串對(duì)象      |
  | String s =   “abc”;         | 直接賦值的方式創(chuàng)建字符串對(duì)象,內(nèi)容就是abc |

示例代碼

  public class StringDemo01 {
      public static void main(String[] args) {
          //public String():創(chuàng)建一個(gè)空白字符串對(duì)象,不含有任何內(nèi)容
          String s1 = new String();
          System.out.println("s1:" + s1);
  
          //public String(char[] chs):根據(jù)字符數(shù)組的內(nèi)容,來(lái)創(chuàng)建字符串對(duì)象
          char[] chs = {'a', 'b', 'c'};
          String s2 = new String(chs);
          System.out.println("s2:" + s2);
  
          //public String(byte[] bys):根據(jù)字節(jié)數(shù)組的內(nèi)容,來(lái)創(chuàng)建字符串對(duì)象
          byte[] bys = {97, 98, 99};
          String s3 = new String(bys);
          System.out.println("s3:" + s3);
  
          //String s = “abc”;    直接賦值的方式創(chuàng)建字符串對(duì)象,內(nèi)容就是abc
          String s4 = "abc";
          System.out.println("s4:" + s4);
      }
  }

創(chuàng)建字符串對(duì)象兩種方式的區(qū)別

- 通過(guò)構(gòu)造方法創(chuàng)建

通過(guò) new 創(chuàng)建的字符串對(duì)象,每一次 new 都會(huì)申請(qǐng)一個(gè)內(nèi)存空間,雖然內(nèi)容相同,但是地址值不同

- 直接賦值方式創(chuàng)建

以“”方式給出的字符串,只要字符序列相同(順序和大小寫(xiě)),無(wú)論在程序代碼中出現(xiàn)幾次,JVM 都只會(huì)建立一個(gè) String 對(duì)象,并在字符串池中維護(hù)

分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!