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

整理Java編程中字符串的常用操作方法

 更新時(shí)間:2016年02月17日 08:46:49   作者:極客學(xué)院  
這篇文章主要介紹了Java編程中字符串的常用操作方法的整理,字符串處理是Java入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

字符
一般情況下,當(dāng)我們處理字符時(shí),我們用原始數(shù)據(jù)類(lèi)型 char。

示例

char ch = 'a';

// Unicode for uppercase Greek omega character
char uniChar = '\u039A'; 

// an array of chars
char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };

然而在開(kāi)發(fā)中,我們會(huì)遇到需要使用對(duì)象而不是原始數(shù)據(jù)類(lèi)型的情況。為了達(dá)到這個(gè)需求。Java 為原始數(shù)據(jù)類(lèi)型 char 提供了包裝類(lèi) Character。

Character 類(lèi)為操控字符提供了一系列有用處的類(lèi)(例如:靜態(tài)類(lèi))。你可以借助 Character 構(gòu)造函數(shù)創(chuàng)造一個(gè) Character 對(duì)象。

Character ch = new Character('a');

Java 編譯器也將能在某些情況下為你創(chuàng)造一個(gè) Character 對(duì)象。例如:如果你將一個(gè)原始 char 傳輸?shù)揭粋€(gè)可預(yù)期對(duì)象的方法,編譯器就會(huì)為你自動(dòng)將 char 轉(zhuǎn)化成 Character。 如果轉(zhuǎn)換從反方向進(jìn)行,這個(gè)特點(diǎn)被稱(chēng)之為自動(dòng)裝箱或拆箱。

示例

// Here following primitive char 'a'
// is boxed into the Character object ch
Character ch = 'a';

// Here primitive 'x' is boxed for method test,
// return is unboxed to char 'c'

char c = test('x');

轉(zhuǎn)義序列
有反斜杠(\)在前的字符是一個(gè)轉(zhuǎn)義序列并且對(duì)于編譯器有特殊的意義。

換行符(\n)在 System.out.println() 語(yǔ)句中經(jīng)常使用,在字符串打印出來(lái)后換行。

以下的表格展示了 Java 轉(zhuǎn)義序列:

轉(zhuǎn)義序列 描述
\t 在文本中插入一個(gè)標(biāo)簽。
\b 在文本中插入一個(gè)退格。
\n 在文本中插入一個(gè)換行符。
\r 在文本中插入一個(gè)回車(chē)。
\f 在文本中插入一個(gè)換頁(yè)。
\' 在文本中插入一個(gè)單引號(hào)字符。
\\ 在文本中插入一個(gè)反斜杠字符。

當(dāng)一個(gè)轉(zhuǎn)義序列遇到一個(gè)打印語(yǔ)句,編譯器就會(huì)相應(yīng)地解譯。

示例

如果你想把引號(hào)放入引號(hào)內(nèi),必須使用轉(zhuǎn)義序列, \” ,在內(nèi)部引用:

public class Test {

 public static void main(String args[]) {
  System.out.println("She said \"Hello!\" to me.");
 }
}

這將產(chǎn)生以下結(jié)果:

She said "Hello!" to me.
Character 方法
以下列表是實(shí)現(xiàn) Character 類(lèi)所有子類(lèi)的重要的實(shí)例方法:

SN 方法描述
1 isLetter()
確定具體的char值是一個(gè)字母
2 isDigit()
確定具體的char值是一個(gè)數(shù)字
3 isWhitespace()
確定具體的char值是一個(gè)空格
4 isUpperCase()
確定具體的char值是一個(gè)大寫(xiě)字母
5 isLowerCase()
確定具體的char值是一個(gè)小寫(xiě)字母
6 toUpperCase()
返回指定字符值的大寫(xiě)形式
7 toLowerCase()
返回指定字符值的小寫(xiě)寫(xiě)形式
8 toString()
返回代表指定的字符值的一個(gè)String對(duì)象,即一個(gè)字符的字符串


字符串
字符串,它被廣泛應(yīng)用于 Java 編程,是一個(gè)字符序列。在 Java 編程語(yǔ)言中,字符串是對(duì)象。

Java 平臺(tái)提供了 String 類(lèi)來(lái)創(chuàng)建和操作字符串。

創(chuàng)建字符串
最直接的方式來(lái)創(chuàng)建一個(gè)字符串是這樣寫(xiě)的:

String greeting = "Hello world!";
當(dāng)你創(chuàng)建一個(gè)字符串時(shí),編譯器在這種情況下用它的值創(chuàng)建一個(gè) String 對(duì)象,如:"Hello world!'。

任何其他對(duì)象可以通過(guò)使用 new 關(guān)鍵字,并通過(guò)構(gòu)造函數(shù)創(chuàng)建 String 對(duì)象。 String 類(lèi)有11種構(gòu)造函數(shù)提供使用不同類(lèi)型的字符串的初始值,如一個(gè)字符數(shù)組。

public class StringDemo{

 public static void main(String args[]){
  char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.'};
  String helloString = new String(helloArray); 
  System.out.println( helloString );
 }
}

這將產(chǎn)生以下結(jié)果:

hello.

注 String 類(lèi)是不可變的,因此,一旦創(chuàng)建了 String 對(duì)象那么是不能改變的。如果需要大量修改字符的字符串,那么應(yīng)該使用 StringBuffer & StringBuilder 類(lèi)。

String 長(zhǎng)度
用于獲取有關(guān)對(duì)象的信息的方法稱(chēng)為存取方法??梢院妥址黄鹗褂玫囊粋€(gè)存取方法是 length() ,它返回包含在字符串對(duì)象中的字符數(shù)。

下面的兩行代碼被執(zhí)行之后,len 等于17:

public class StringDemo {

 public static void main(String args[]) {
  String palindrome = "Dot saw I was Tod";
  int len = palindrome.length();
  System.out.println( "String Length is : " + len );
 }
}

這將產(chǎn)生以下結(jié)果:

String Length is : 17

連接字符串
String類(lèi)包括用于連接兩個(gè)字符串的方法:

string1.concat(string2);

這返回一個(gè)新的字符串,即在 string1 結(jié)尾處添加 string2。還可以使用 concat()方法連接字符串,如:

"My name is ".concat("Zara");

字符串更常使用 “ + ” 運(yùn)算符連接在一起,如:

"Hello," + " world" + "!"

這將產(chǎn)生:

"Hello, world!"

看看下面的例子:

public class StringDemo {

 public static void main(String args[]) {
  String string1 = "saw I was ";
  System.out.println("Dot " + string1 + "Tod");
 }
}

這將產(chǎn)生以下結(jié)果:

Dot saw I was Tod

創(chuàng)建格式化字符串
已經(jīng)有 printf() 和 format() 方法來(lái)打印輸出格式的數(shù)字。 String 類(lèi)有一個(gè)等價(jià)的方法 format(),它返回一個(gè) String 對(duì)象,而不是一個(gè) PrintStream 對(duì)象。

使用字符串的靜態(tài) format() 方法允許創(chuàng)建可重復(fù)使用的格式化字符串,而不是一次性的 print 語(yǔ)句。例如,如果代替以下方法:

System.out.printf("The value of the float variable is " +
     "%f, while the value of the integer " +
     "variable is %d, and the string " +
     "is %s", floatVar, intVar, stringVar);

可以這樣寫(xiě):

String fs;
fs = String.format("The value of the float variable is " +
     "%f, while the value of the integer " +
     "variable is %d, and the string " +
     "is %s", floatVar, intVar, stringVar);
System.out.println(fs);

String 方法
這里是由 String 類(lèi)支持的方法列表:

SN 方法及描述
1 char charAt(int index)
返回指定索引處的字符。
2 int compareTo(Object o)
將這個(gè)字符串與另一個(gè)對(duì)象比較。
3 int compareTo(String anotherString)
比較兩個(gè)字符串的字典順序。
4 int compareToIgnoreCase(String str)
比較兩個(gè)字符串按字典順序,不區(qū)分大小寫(xiě)的差異。
5 String concat(String str)
將指定的字符串串連到這個(gè)字符串的結(jié)尾。
6 boolean contentEquals(StringBuffer sb)
返回true當(dāng)且僅當(dāng)該字符串代表相同的字符序列作為指定的StringBuffer。
7 static String copyValueOf(char[] data)
返回表示所指定的數(shù)組中的字符序列的字符串。
8 static String copyValueOf(char[] data, int offset, int count)
返回表示所指定的數(shù)組中的字符序列的字符串。
9 boolean endsWith(String suffix)
測(cè)試此字符串是否以指定的后綴結(jié)束。
10 boolean equals(Object anObject)
比較此字符串與指定的對(duì)象。
11 boolean equalsIgnoreCase(String anotherString)
比較這個(gè)字符串到另一個(gè)字符串,忽略大小寫(xiě)的考慮。
12 byte getBytes()
將此String解碼使用平臺(tái)的默認(rèn)字符集,并將結(jié)果存儲(chǔ)到一個(gè)新的字節(jié)數(shù)組中的字節(jié)序列。
13 byte[] getBytes(String charsetName
將此String解碼使用指定的字符集的字節(jié)序列,并將結(jié)果存儲(chǔ)到一個(gè)新的字節(jié)數(shù)組。
14 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
從這個(gè)字符串復(fù)制字符到目標(biāo)字符數(shù)組。
15 int hashCode()
為這個(gè)字符串返回一個(gè)哈希代碼。
16 int indexOf(int ch)
返回此字符串指定字符第一次出現(xiàn)處的索引。
17 int indexOf(int ch, int fromIndex)
返回索引這個(gè)字符串中指定字符第一次出現(xiàn)處,指定索引處開(kāi)始搜索。
18 int indexOf(String str)
返回此字符串指定子字符串的第一次出現(xiàn)處的索引。
19 int indexOf(String str,int fromIndex)
返回這個(gè)字符串中指定子字符串的第一次出現(xiàn)處的索引,從指定的索引處開(kāi)始。
20 String intern()
返回字符串對(duì)象的規(guī)范化表示。
21 int lastIndexOf(int ch)
返回此字符串指定字符最后一次出現(xiàn)處的索引。
22 int lastIndexOf(int ch, int fromIndex)
返回此字符串指定字符最后一次出現(xiàn)處的索引,從指定索引開(kāi)始向后搜索。
23 int lastIndexOf(String str)
返回此字符串指定子字符串的最右邊出現(xiàn)處的索引。
24 int lastIndexOf(String str, int fromIndex)
返回索引這個(gè)字符串中指定子字符串的最后出現(xiàn)處,從指定的索引開(kāi)始處向后搜索。
25 int length()
返回此字符串的長(zhǎng)度。
26 boolean matches(String regex)
判斷此字符串是否與給定的正則表達(dá)式匹配。
27 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
測(cè)試兩個(gè)字符串的區(qū)域等于。
28 boolean regionMatches(int toffset, String other, int ooffset, int len)
測(cè)試兩個(gè)字符串的區(qū)域都是相等的。
29 String replace(char oldChar, char newChar)
返回從newChar更換oldChar所有出現(xiàn)在此字符串中產(chǎn)生一個(gè)新的字符串。
30 String replaceAll(String regex, String replacement
替換此字符串中給定的正則表達(dá)式與給定替換相匹配的每個(gè)子字符串。
31 String replaceFirst(String regex, String replacement)
替換此字符串匹配給定的正則表達(dá)式給定替換第一個(gè)子字符串。
32 String[] split(String regex)
分割圍繞給定的正則表達(dá)式匹配的這個(gè)字符串。
33 String[] split(String regex, int limit)
分割圍繞給定的正則表達(dá)式匹配的這個(gè)字符串。
34 boolean startsWith(String prefix)
測(cè)試此字符串是否以指定的前綴開(kāi)頭。
35 boolean startsWith(String prefix, int toffset)
測(cè)試此字符串是否以指定索引開(kāi)始的指定前綴開(kāi)始。
36 CharSequence subSequence(int beginIndex, int endIndex)
返回一個(gè)新的字符序列,這個(gè)序列的子序列。
37 String substring(int beginIndex)
返回一個(gè)新的字符串,它是此字符串的一個(gè)子字符串。
38 String substring(int beginIndex, int endIndex)
返回一個(gè)新的字符串,它是此字符串的一個(gè)子字符串。
39 char[] toCharArray()
這個(gè)字符串轉(zhuǎn)換為一個(gè)新的字符數(shù)組。
40 String toLowerCase()
將所有在此字符串中的字符使用默認(rèn)語(yǔ)言環(huán)境的規(guī)則小寫(xiě)。
41 String toLowerCase(Locale locale)
將所有在此字符串中的字符使用給定Locale的規(guī)則小寫(xiě)。
42 String toString()
這個(gè)對(duì)象(它已經(jīng)是一個(gè)字符串?。┓祷刈址问剑ㄟ@里是自己本身)。
43 String toUpperCase()
使用默認(rèn)語(yǔ)言環(huán)境的規(guī)則將此String中所有的字符轉(zhuǎn)換為大寫(xiě)。
44 String toUpperCase(Locale locale)
使用給定Locale的規(guī)則將此String中所有的字符轉(zhuǎn)換為大寫(xiě)。
45 String trim()
返回字符串的一個(gè)副本,開(kāi)頭和結(jié)尾的空格去除。
46 static String valueOf(primitive data type x)
返回傳遞的數(shù)據(jù)類(lèi)型參數(shù)的字符串表示形式。

相關(guān)文章

  • 詳解批處理框架之Spring Batch

    詳解批處理框架之Spring Batch

    Spring Batch是一個(gè)輕量級(jí)的、完善的批處理框架,作為Spring體系中的一員,它擁有靈活、方便、生產(chǎn)可用的特點(diǎn)。在應(yīng)對(duì)高效處理大量信息、定時(shí)處理大量數(shù)據(jù)等場(chǎng)景十分簡(jiǎn)便。結(jié)合調(diào)度框架能更大地發(fā)揮Spring Batch的作用
    2021-06-06
  • SpringBoot?整合RabbitMq?自定義消息監(jiān)聽(tīng)容器來(lái)實(shí)現(xiàn)消息批量處理

    SpringBoot?整合RabbitMq?自定義消息監(jiān)聽(tīng)容器來(lái)實(shí)現(xiàn)消息批量處理

    Spring Boot中提供了默認(rèn)的監(jiān)聽(tīng)器容器,但是有時(shí)候我們需要自定義監(jiān)聽(tīng)器容器,來(lái)滿(mǎn)足一些特殊的需求,比如批量獲取數(shù)據(jù),這篇文章主要介紹了SpringBoot?整合RabbitMq?自定義消息監(jiān)聽(tīng)容器來(lái)實(shí)現(xiàn)消息批量處理,需要的朋友可以參考下
    2023-04-04
  • Java隨手筆記8之包、環(huán)境變量和訪問(wèn)控制及maven profile實(shí)現(xiàn)多環(huán)境打包

    Java隨手筆記8之包、環(huán)境變量和訪問(wèn)控制及maven profile實(shí)現(xiàn)多環(huán)境打包

    這篇文章主要介紹了Java隨手筆記8之包、環(huán)境變量和訪問(wèn)控制及maven profile實(shí)現(xiàn)多環(huán)境打包的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • SpringBoot 入門(mén)教程之引入數(shù)據(jù)傳輸層的方法

    SpringBoot 入門(mén)教程之引入數(shù)據(jù)傳輸層的方法

    這篇文章主要介紹了SpringBoot 入門(mén)教程之引入數(shù)據(jù)傳輸層的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Springboot中靜態(tài)文件的兩種引入方式總結(jié)

    Springboot中靜態(tài)文件的兩種引入方式總結(jié)

    這篇文章主要介紹了Springboot中靜態(tài)文件的兩種引入方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • ChatGPT-4.0未來(lái)已來(lái) 你來(lái)不來(lái)

    ChatGPT-4.0未來(lái)已來(lái) 你來(lái)不來(lái)

    最近聽(tīng)說(shuō)了一個(gè)非?;鸬募夹g(shù)ChatGPT4.0,今天這篇文章就給大家介紹一下ChatGPT究竟是什么東東,不得不說(shuō)ChatGPT是真的強(qiáng),下面就讓我們一起了解究竟什么是ChatGPT吧
    2023-03-03
  • springboot?@Async?注解如何實(shí)現(xiàn)方法異步

    springboot?@Async?注解如何實(shí)現(xiàn)方法異步

    這篇文章主要介紹了springboot?@Async?注解如何實(shí)現(xiàn)方法異步,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java流形式返回前端的實(shí)現(xiàn)示例

    Java流形式返回前端的實(shí)現(xiàn)示例

    ? Java后端開(kāi)發(fā)項(xiàng)目時(shí),需要給前端傳一些數(shù)據(jù),本文主要介紹了Java流形式返回前端的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • SpringBoot @FixMethodOrder 如何調(diào)整單元測(cè)試順序

    SpringBoot @FixMethodOrder 如何調(diào)整單元測(cè)試順序

    這篇文章主要介紹了SpringBoot @FixMethodOrder 調(diào)整單元測(cè)試順序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 詳解如何在SpringBoot中自定義參數(shù)解析器

    詳解如何在SpringBoot中自定義參數(shù)解析器

    這篇文章主要為大家詳細(xì)介紹了如何在SpringBoot中實(shí)現(xiàn)自定義參數(shù)解析器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下
    2022-05-05

最新評(píng)論