欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java進階教程之String類

 更新時間:2014年09月01日 12:43:41   投稿:junjie  
這篇文章主要介紹了Java進階教程之String類,String類對象是不可變對象(immutable object),String類是唯一一個不需要new關(guān)鍵字來創(chuàng)建對象的類,需要的朋友可以參考下

之前的Java基礎(chǔ)系列中討論了Java最核心的概念,特別是面向?qū)ο蟮幕A(chǔ)。在Java進階中,我將對Java基礎(chǔ)進行補充,并轉(zhuǎn)向應(yīng)用層面。

大部分編程語言都能夠處理字符串(String)。字符串是有序的字符集合,比如"Hello World!"。在Java中,字符串被存儲為String類對象。調(diào)用字符串對象的方法,可以實現(xiàn)字符串相關(guān)的操作。

String類包含在java.lang包中。這個包會在Java啟動的時候自動import,所以可以當(dāng)做一個內(nèi)置類(built-in class)。我們不需要顯式的使用import引入String類。

創(chuàng)建字符串

我們之前使用類來創(chuàng)建對象。需要注意的時候,創(chuàng)建String類對象不需要new關(guān)鍵字。比如:

復(fù)制代碼 代碼如下:

public class Test
{
    public static void main(String[] args)
    {
        String s = "Hello World!";
        System.out.println(s);                    
    }
}

實際上,當(dāng)你寫出一個"Hello World"表達式時,內(nèi)存中就已經(jīng)創(chuàng)建了該對象。如果使用new String("Hello World!"),會重復(fù)創(chuàng)建出一個字符串對象。

An Object

String類是唯一一個不需要new關(guān)鍵字來創(chuàng)建對象的類。使用的時候需要注意。

字符串操作

可以用+實現(xiàn)字符串的連接(concatenate),比如:

復(fù)制代碼 代碼如下:

"abc" + s

字符串的操作大都通過字符串的相應(yīng)方法實現(xiàn),比如下面的方法:

復(fù)制代碼 代碼如下:

方法                               效果

s.length()                        返回s字符串長度

s.charAt(2)                       返回s字符串中下標為2的字符

s.substring(0, 4)                 返回s字符串中下標0到4的子字符串

s.indexOf("Hello")                返回子字符串"Hello"的下標

s.startsWith(" ")                 判斷s是否以空格開始

s.endsWith("oo")                  判斷s是否以"oo"結(jié)束

 

s.equals("Good World!")           判斷s是否等于"Good World!"

                                  ==只能判斷字符串是否保存在同一位置。需要使用equals()判斷字符串的內(nèi)容是否相同。

s.compareTo("Hello Nerd!")        比較s字符串與"Hello Nerd!"在詞典中的順序,

                                  返回一個整數(shù),如果<0,說明s在"Hello Nerd!"之前;

                                              如果>0,說明s在"Hello Nerd!"之后;

                                              如果==0,說明s與"Hello Nerd!"相等。

s.trim()                          去掉s前后的空格字符串,并返回新的字符串

s.toUpperCase()                   將s轉(zhuǎn)換為大寫字母,并返回新的字符串

s.toLowerCase()                   將s轉(zhuǎn)換為小寫,并返回新的字符串

s.replace("World", "Universe")    將"World"替換為"Universe",并返回新的字符串

不可變對象

String類對象是不可變對象(immutable object)。程序員不能對已有的不可變對象進行修改。我們自己也可以創(chuàng)建不可變對象,只要在接口中不提供修改數(shù)據(jù)的方法就可以。

然而,String類對象確實有編輯字符串的功能,比如replace()。這些編輯功能是通過創(chuàng)建一個新的對象來實現(xiàn)的,而不是對原有對象進行修改。比如:

復(fù)制代碼 代碼如下:

s = s.replace("World", "Universe");

右邊對s.replace()的調(diào)用將創(chuàng)建一個新的字符串"Hello Universe!",并返回該對象(的引用)。通過賦值,引用s將指向該新的字符串。如果沒有其他引用指向原有字符串"Hello World!",原字符串對象將被垃圾回收。

不可變對象

Java API

Java提供了許多功能強大的包。Java學(xué)習(xí)的一個重要方面是了解這些包以及其中包含的API(Application Programming Interface)。String類定義在java.lang.String。你可以查詢下面的Oracle網(wǎng)址,來找到該類的官方文檔:

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

該文檔中包含了String類最全面的介紹。

事實上,API文檔中有豐富的內(nèi)容,你通過下面鏈接概覽:

http://docs.oracle.com/javase/6/docs/api/

相關(guān)文章

  • Java生成二維碼的2種實現(xiàn)方法

    Java生成二維碼的2種實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Java生成二維碼的2種實現(xiàn)方法,二維碼的實質(zhì)就是一個鏈接地址,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • SpringBoot使用Async注解失效原因分析及解決(spring異步回調(diào))

    SpringBoot使用Async注解失效原因分析及解決(spring異步回調(diào))

    這篇文章主要介紹了SpringBoot使用Async注解失效原因分析及解決(spring異步回調(diào)),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java 入門圖形用戶界面設(shè)計之單選按鈕

    Java 入門圖形用戶界面設(shè)計之單選按鈕

    圖形界面(簡稱GUI)是指采用圖形方式顯示的計算機操作用戶界面。與早期計算機使用的命令行界面相比,圖形界面對于用戶來說在視覺上更易于接受,本篇精講Java語言中關(guān)于圖形用戶界面的單選按鈕
    2022-02-02
  • 深入解析System.load 與 System.loadLibrary

    深入解析System.load 與 System.loadLibrary

    以下是對System.load與System.loadLibrary進行了詳細的分析介紹。需要的朋友可以過來參考下
    2013-08-08
  • IDEA2020.1個性化設(shè)置的實現(xiàn)

    IDEA2020.1個性化設(shè)置的實現(xiàn)

    這篇文章主要介紹了IDEA2020.1個性化設(shè)置的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java實現(xiàn)將html字符串插入到PPT幻燈片

    Java實現(xiàn)將html字符串插入到PPT幻燈片

    Java后端代碼操作PPT幻燈片時,可直接在幻燈片中繪制形狀,并在形狀中添加文本字符串內(nèi)容。本篇文章主要介紹通過java實現(xiàn)將html字符串添加到PPT幻燈片的的方法,可添加文字、圖片、視頻、音頻等。以下是具體方法和步驟。
    2021-11-11
  • SpringBoot中的跨域詳解

    SpringBoot中的跨域詳解

    這篇文章主要介紹了SpringBoot中的跨域詳解,在瀏覽器上當(dāng)前訪問的網(wǎng)站,向另一個網(wǎng)站發(fā)送請求,用于獲取數(shù)據(jù)的過程就是跨域請求,跨域是瀏覽器的同源策略決定的,是一個重要的瀏覽器安全策略,需要的朋友可以參考下
    2023-08-08
  • Java SpringMVC的自定義異常類

    Java SpringMVC的自定義異常類

    這篇文章主要為大家詳細介紹了SpringMVC的自定義異常類,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Spring Boot整合elasticsearch的詳細步驟

    Spring Boot整合elasticsearch的詳細步驟

    這篇文章主要介紹了Spring Boot整合elasticsearch的詳細步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • SpringBoot2.6.3集成quartz的方式

    SpringBoot2.6.3集成quartz的方式

    quartz是java里頭定時任務(wù)的經(jīng)典開源實現(xiàn),這里講述一下如何在SpringBoot2.6.3集成quartz,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2022-02-02

最新評論