鍍金池/ 教程/ Java/ Java 字符串
Java 接口
Java 方法
Java 數(shù)字
Java 條件判斷
Java 異常處理
Java 字符
Java 重寫
Java 網(wǎng)絡(luò)編程
Java 數(shù)據(jù)結(jié)構(gòu)
Java 的對象和類
Java 多線程
Java 封裝
Java 數(shù)組
Java Applet 基礎(chǔ)
Java 庫類
Java 抽象
Java 繼承
Java 正則表達(dá)式
Java 描述符的類型
Java 發(fā)送郵件
Java 序列化
Java 泛型
Java 多態(tài)
Java 變量類型
Java 基本數(shù)據(jù)類型
Java 包
Java 快速參考指南
Java 基本運(yùn)算符
Java 概述
Java 字符串
Java 循環(huán)控制
Java 環(huán)境設(shè)置
Java 文件注釋
Java 文件和 I/O
Java 集合
Java 基本語法
Java 日期和時間

Java 字符串

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

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

創(chuàng)建字符串

最直接的方式來創(chuàng)建一個字符串是這樣寫的:

String greeting = "Hello world!";

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

任何其他對象可以通過使用 new 關(guān)鍵字,并通過構(gòu)造函數(shù)創(chuàng)建 String 對象。 String 類有11種構(gòu)造函數(shù)提供使用不同類型的字符串的初始值,如一個字符數(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 類是不可變的,因此,一旦創(chuàng)建了 String 對象那么是不能改變的。如果需要大量修改字符的字符串,那么應(yīng)該使用 StringBuffer & StringBuilder 類。

String 長度

用于獲取有關(guān)對象的信息的方法稱為存取方法??梢院妥址黄鹗褂玫囊粋€存取方法是 length() ,它返回包含在字符串對象中的字符數(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類包括用于連接兩個字符串的方法:

string1.concat(string2);

這返回一個新的字符串,即在 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() 方法來打印輸出格式的數(shù)字。 String 類有一個等價的方法 format(),它返回一個 String 對象,而不是一個 PrintStream 對象。

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

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);

可以這樣寫:

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 類支持的方法列表:

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