天天看點

初識Java神秘成員:String類 | 帶你學《Java面向對象程式設計》之二十六

上一篇:複雜中的藝術-複雜多對多映射 | 帶你學《Java面向對象程式設計》之二十五

【本節目标】

通過閱讀本節内容,你将初步了解String類的相關概念,并學會對String類型資料的簡單定義與操作。

在實際的開發之中沒有一個項目不去使用String類,也就是說String是整個系統開發之中一個至關重要的組成類,在Java程式中所有的字元串都要求使用“””進行定義,同時也可以利用“+”實作字元串的連接配接處理,但是對于String類還有其自身的特點。本次将進行String類的特點分析。

String類簡介

字元串嚴格意義上來講并不能算是一個基本資料類型,也就是說沒有任何一門語言會提供有字元串這種資料類型的,而在Java中為了友善開發者進行項目的編寫,是以利用其JVM的支援制造了一種可以簡單使用的String類,并且可以像基本資料類型那樣進行直接的指派處理。

範例:String類對象執行個體化

public class StringDemo {
    public static void main (String args[]) {
        String str = “www.mldn.cn” ;   //直接指派
        System.out.println(str) ;
    }
}           
初識Java神秘成員:String類 | 帶你學《Java面向對象程式設計》之二十六

圖一 執行結果一

但是需要注意的是,String這個類中之是以可以儲存字元串主要的原因是其中定義了一個數組,也就是說,在String中所有的字元串中的每一個字元的資料都是儲存在了數組之中。

提示:觀察String類的源代碼實作

  • 源代碼目錄:D:Javajdk-10libsrc.zip;
  • JDK1.9之後實際上針對于字元串的定義形式增多了要比JDK1.8多,類的數量對比如下:
初識Java神秘成員:String類 | 帶你學《Java面向對象程式設計》之二十六

圖二 JDK版本對比

  • 從JDK1.9開始String類之中的數組類型采用了byte類型,JDK1.9之前使用的都是字元數組。
JDK1.8以前String儲存的是字元數組: JDK1.9及以後String儲存的是位元組數組:
private final char value[]; private final byte[] value;

原來所謂的字元串就是對數組的一種特殊包裝應用,但是同時也應該清楚一點,既然包裝的是數組,是以字元串中的内容肯定是無法改變的。

另外需要注意的是,在String類裡面除了可以使用直接指派的形式為對象進行執行個體化之外,也可以利用傳統形式利用構造方法進行對象的執行個體化處理:public String(String str) ;

範例:利用構造方法進行執行個體化

public class StringDemo {
    public static void main (String args[]) {
        String str = new String(“www.mldn.cn”) ;  
        System.out.println(str) ;
    }
}           
初識Java神秘成員:String類 | 帶你學《Java面向對象程式設計》之二十六

圖三 執行結果二

String本身包裝的是一個數組,并且其有兩種對象的執行個體化形式:直接指派、構造方法執行個體化。

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。

本内容視訊來源于

阿裡雲大學 下一篇:旋轉跳躍-學會操作String類資料 | 帶你學《Java面向對象程式設計》之二十七 更多Java面向對象程式設計文章檢視此處