Java進階01 String類

來源:互聯網
上載者:User

標籤:

 

之前的java基礎系列中討論了Java最核心的概念,特別是物件導向的基礎。在Java進階中,我將對Java基礎進行補充,並轉嚮應用層面。

 

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

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

 

建立字串

我們之前使用類來建立對象。需要注意的時候,建立String類對象不需要new關鍵字。比如:

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

實際上,當你寫出一個"Hello World"運算式時,記憶體中就已經建立了該對象。如果使用new String("Hello World!"),會重複建立出一個字串對象。

 

An Object

 

String類是唯一一個不需要new關鍵字來建立對象的類。使用的時候需要注意。

 

字串操作

可以用+實現字串的串連(concatenate),比如:

"abc" + s

 

字串的操作大都通過字串的相應方法實現,比如下面的方法:

方法                               效果

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"結束

 

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

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

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

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

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

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

s.trim()                          去掉s前後的空白字元串,並返回新的字串

s.toUpperCase()                   將s轉換為大寫字母,並返回新的字串

s.toLowerCase()                   將s轉換為小寫,並返回新的字串

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

 不可變對象

String類對象是不可變對象(immutable object)。程式員不能對已有的不可變對象進行修改。我們自己也可以建立不可變對象,只要在介面中不提供修改資料的方法就可以。

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

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

右邊對s.replace()的調用將建立一個新的字串"Hello Universe!",並返回該對象(的引用)。通過賦值,引用s將指向該新的字串。如果沒有其他引用指向原有字串"Hello World!",原字串對象將被記憶體回收。

不可變對象

 

Java API

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

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

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

 

事實上,API文檔中有豐富的內容,你通過下面連結概覽:

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

Java進階01 String類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.