java基礎---字串string,java---string

來源:互聯網
上載者:User

java基礎---字串string,java---string

1、字元創的概念

  java字串就是Unicode字元序列。例如,串“Java\u2122”由5個Unicode字元J、a、v、a和TM。java沒有內建的字串類型,而是在標準庫Java類庫中提供了一個預定義類String。

2、子串

  String類的substring方法可以從一個較大的字串提取出一個子串。

String    greeting ="Hello";String s = greeting.substring(0,3);

  建立了一個由字元“Hel”組成的字串。 substring方法的第二個參數是不想複製的第一個位置。這裡要複製位置為0、1和2(從0到2, 包括0和2)的字元。在substring中從0開始計數,直到3為止,但不包含3。

  substring的工作方式有一個優點:容易計運算元串的長度。字串s.substring(a, b)的長度為ba。例如,子串“Hel”的長度為3-0=3。

3、拼接

  與大多數程式設計語言一樣,Java語言允許使用+號串連兩個字串。

String  str1 = "I Love java!";String str2= "I Love China!";String str3 = str1+str2;

  上述將“I Love Java!I Love China”賦值給了str3;e(注意,單詞之間沒有空格,+號按照給 定的次序將兩個字串拼接起來)。 當將一個字串與一個非字串的值進行拼接時,後者被轉換成字串。

4、不可變字串

  String類沒有提供用於修改字串的方法,如果希望將greeting的內容修改為“Help!”,不能直接地將greeting的最後兩個位置的字元修改為‘P’和‘!’!但是可以用替換來做出“修改”這一意義。

  greeting = greeting.substring(0,3)+"p!";

上述語句將greeting當前值修改為Help!

  由於不能修改Java字串中的字元,所以在Java文檔中將String類對象稱為不可變字串, 如同數字3永遠是數字3一樣,字串“Hello”永遠包含字元H、e、l、l和o的代碼單元序列, 而不能修改其中的任何一個字元。當然,可以修改字串變數greeting,讓它引用另外一個字 符串,這就如同可以將存放3的數值變數改成存放4一樣。

5、檢測字串是否相等

  可以使用equals()方法檢測兩個字串內容是否相等。

  s.equals(t); 如果字串s與字串t相等,返回true,否則返回false。需要注意,s和t都是字串變數,也可以是字串常量。

  一定不能用“==”來檢測兩個字串是否相等!這個運算子只能夠確定兩個字串是否防放置在同一個位置上,比較的是內容和地址都要相等時2個字串才會相等。當然,如果字串放在同一個位置上,它們必然相等,但是完全有可能內容相同的多個字串在拷貝放置在不同位置上。

  String greeting  = "hello";

  if(gerrting =="hello")

  //probably  true  

  if(greeting.substring(0,3)=="hel")

  //probably false;

  如果虛擬機器始終將相同的字串共用,就可以使用"=="運算子判斷是否相等,但是實際上只有字串常量才是共用的,而+或substring 等操作產生的結果並不是共用的。

6、字串API

• char charAt (int index) 返回給定位置的代碼單元。除非對底層的代碼單元感興趣,否則不需要調用這個方法。

• int codePointAt(int index) 5.0 返回從給定位置開始或結束的代碼點。

• int offsetByCodePoints(int startIndex, int cpCount) 5.0 返回從startIndex代碼點開始,位移cpCount後的代碼點索引。

• int compareTo(String other) 按照字典順序,如果字串位於other之前,返回一個負數;如果字串位於other之後, 返回一個正數;如果兩個字串相等,返回0。

• boolean endsWith(String suffix) 如果字串以suffix結尾,返回true。

• boolean equals(Object other) 如果字串與other相等,返回true。

• boolean equalsIgnoreCase(String other) 如果字串與other相等(忽略大小寫),返回true。

• int index0f(String str)

• int index0f(String str, int fromIndex) Java基本的程式設計結構 47 java.lang.string 1.0

• int index0f(int cp) • int index0f(int cp, int fromIndex) 返回與字串str或代碼點cp匹配的的第一個子串的開始位置。這個位置從索引0或 fromIndex開始計算。如果在原始串中不存在str,返回-1。

• int lastIndex0f(String str)

• int lastIndex0f(String str, int fromIndex)

• int lastindex0f(int cp) • int lastindex0f(int cp, int fromIndex) 返回與字串str或代碼點cp匹配的最後一個子串的開始位置。這個位置從原始串尾端或 fromIndex開始計算。

• int length( ) 返回字串的長度。

• int codePointCount(int startIndex, int endIndex) 5.0 返回startIndex和endIndex-1之間的代碼點數量。沒有配成對的代用字元將計入代碼點。

• String replace(CharSequence oldString,CharSequence newString) 返回一個新字串。這個字串用newString代替原始字串中所有的oldString。可以用 String或StringBuilder對象作為CharSequence參數。

• boolean startsWith(String prefix) 如果字串以preffix字串開始,返回true。

• String substring(int beginIndex) • String substring(int beginIndex, int endIndex) 返回一個新字串。這個字串包含原始字串中從beginIndex到串尾或endIndex-1的所 有代碼單元。

• String toLowerCase( ) 返回一個新字串。這個字串將原始字串中的所有大寫字母改成了小寫字母。

• String toUpperCase( ) 返回一個新字串。這個字串將原始字串中的所有小寫字母改成了大寫字母。

• String trim( ) 返回一個新字串。這個字串將刪除了原始字串頭部和尾部的空格。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.