天天看點

Java String類的常用方法彙總

Web的開發離不開基礎的學習,這篇文章主要為大家詳細彙總了Java String類的常用方法,感興趣的小夥伴們可以參考一下.

一、String類

String類在java.lang包中,java使用String類建立一個字元串變量,字元串變量屬于對象。java把String類聲明的final類,不能有類。String類對象建立後不能修改,由0或多個字元組成,包含在一對雙引号之間。

二、String類對象的建立

字元串聲明:String stringName;

字元串建立:stringName = new String(字元串常量);或stringName = 字元串常量;

三、String類構造方法

1、public String()

無參構造方法,用來建立空字元串的String對象。

String str1 = new String(); 

2、public String(String value)

用已知的字元串value建立一個String對象。

String str2 = new String("asdf"); 2 String str3 = new String(str2); 

3、public String(char[] value)

用字元數組value建立一個String對象。

char[] value = {"a","b","c","d"};

String str4 = new String(value);//相當于String str4 = new String("abcd");

4、public String(char chars[], int startIndex, int numChars)

用字元數組chars的startIndex開始的numChars個字元建立一個String對象。

 char[] value = {"a","b","c","d"};

 String str5 = new String(value, 1, 2);//相當于String str5 = new String("bc");

5、public String(byte[] values)

用比特數組values建立一個String對象。

 byte[] strb = new byte[]{65,66};

 String str6 = new String(strb);//相當于String str6 = new String("AB"); 

四、String類常用方法

1、求字元串長度

public int length()//傳回該字元串的長度

 String str = new String("asdfzxc");

 int strlength = str.length();//strlength = 7

2、求字元串某一位置字元

public char charAt(int index)//傳回字元串中指定位置的字元;注意字元串中第一個字元索引是0,最後一個是length()-1。

String str = new String("asdfzxc");

char ch = str.charAt(4);//ch = z

3、提取子串

用String類的substring方法可以提取字元串中的子串,該方法有兩種常用參數:

1)public String substring(int beginIndex)//該方法從beginIndex位置起,從目前字元串中取出剩餘的字元作為一個新的字元串傳回。

2)public String substring(int beginIndex, int endIndex)//該方法從beginIndex位置起,從目前字元串中取出到endIndex-1位置的字元作為一個新的字元串傳回。 

1

2

3

String str1 =

new

String(

"asdfzxc"

);

String str2 = str1.substring(

2

);

//str2 = "dfzxc"

String str3 = str1.substring(

2

,

5

);

//str3 = "dfz"

4、字元串比較

1)public int compareTo(String anotherString)//該方法是對字元串内容按字典順序進行大小比較,通過傳回的整數值指明目前字元串與參數字元串的大小關系。若目前對象比參數大則傳回正整數,反之傳回負整數,相等傳回0。

2)public int compareToIgnore(String anotherString)//與compareTo方法相似,但忽略大小寫。

3)public boolean equals(Object anotherObject)//比較目前字元串和參數字元串,在兩個字元串相等的時候傳回true,否則傳回false。

4)public boolean equalsIgnoreCase(String anotherString)//與equals方法相似,但忽略大小寫。 

1

2

3

4

5

6

String str1 =

new

String(

"abc"

);

String str2 =

new

String(

"ABC"

);

int

a = str1.compareTo(str2);

//a>0

int

b = str1.compareTo(str2);

//b=0

boolean

c = str1.equals(str2);

//c=false

boolean

d = str1.equalsIgnoreCase(str2);

//d=true

5、字元串連接配接

public String concat(String str)//将參數中的字元串str連接配接到目前字元串的後面,效果等價于"+"。

String str = "aa".concat("bb").concat("cc"); 相當于String str = "aa"+"bb"+"cc";

6、字元串中單個字元查找

1)public int indexOf(int ch/String str)//用于查找目前字元串中字元或子串,傳回字元或子串在目前字元串中從左邊起首次出現的位置,若沒有出現則傳回-1。

2)public int indexOf(int ch/String str, int fromIndex)//改方法與第一種類似,差別在于該方法從fromIndex位置向後查找。

3)public int lastIndexOf(int ch/String str)//該方法與第一種類似,差別在于該方法從字元串的末尾位置向前查找。

4)public int lastIndexOf(int ch/String str, int fromIndex)//該方法與第二種方法類似,差別于該方法從fromIndex位置向前查找。 

1

2

3

4

5

6

String str =

"I am a good student"

;

int

a = str.indexOf(

'a'

);

//a = 2

int

b = str.indexOf(

"good"

);

//b = 7

int

c = str.indexOf(

"w"

,

2

);

//c = -1

int

d = str.lastIndexOf(

"a"

);

//d = 5

int

e = str.lastIndexOf(

"a"

,

3

);

//e = 2

7、字元串中字元的大小寫轉換

1)public String toLowerCase()//傳回将目前字元串中所有字元轉換成小寫後的新串

2)public String toUpperCase()//傳回将目前字元串中所有字元轉換成大寫後的新串

1

2

3

String str =

new

String(

"asDF"

);

String str1 = str.toLowerCase();

//str1 = "asdf"

String str2 = str.toUpperCase();

//str2 = "ASDF"

8、字元串中字元的替換

1)public String replace(char oldChar, char newChar)//用字元newChar替換目前字元串中所有的oldChar字元,并傳回一個新的字元串。

2)public String replaceFirst(String regex, String replacement)//該方法用字元replacement的内容替換目前字元串中遇到的第一個和字元串regex相比對的子串,應将新的字元串傳回。

3)public String replaceAll(String regex, String replacement)//該方法用字元replacement的内容替換目前字元串中遇到的所有和字元串regex相比對的子串,應将新的字元串傳回。

1

2

3

4

5

String str =

"asdzxcasd"

;

String str1 = str.replace(

'a'

,

'g'

);

//str1 = "gsdzxcgsd"

String str2 = str.replace(

"asd"

,

"fgh"

);

//str2 = "fghzxcfgh"

String str3 = str.replaceFirst(

"asd"

,

"fgh"

);

//str3 = "fghzxcasd"

String str4 = str.replaceAll(

"asd"

,

"fgh"

);

//str4 = "fghzxcfgh"

9、其他類方法

1)String trim()//截去字元串兩端的空格,但對于中間的空格不處理。

1

2

3

4

String str =

" a sd "

;

String str1 = str.trim();

int

a = str.length();

//a = 6

int

b = str1.length();

//b = 4

2)boolean statWith(String prefix)或boolean endWith(String suffix)//用來比較目前字元串的起始字元或子字元串prefix和終止字元或子字元串suffix是否和目前字元串相同,重載方法中同時還可以指定比較的開始位置offset。

1

2

3

String str =

"asdfgh"

;

boolean

a = str.statWith(

"as"

);

//a = true

boolean

b = str.endWith(

"gh"

);

//b = true

3)regionMatches(boolean b, int firstStart, String other, int otherStart, int length)//從目前字元串的firstStart位置開始比較,取長度為length的一個子字元串,other字元串從otherStart位置開始,指定另外一個長度為length的字元串,兩字元串比較,當b為true時字元串不區分大小寫。

4)contains(String str)//判斷參數s是否被包含在字元串中,并傳回一個布爾類型的值。

1

2

3

String str =

"student"

;

str.contains(

"stu"

);

//true

str.contains(

"ok"

);

//false

5)String[] split(String str)//将str作為分隔符進行字元串分解,分解後的字字元串在字元串數組中傳回。

 String str = "asd!qwe|zxc#";

 String[] str1 = str.split("!|#");//str1[0] = "asd";str1[1] = "qwe";str1[2] = "zxc"; 

五、字元串與基本類型的轉換

1、字元串轉換為基本類型

java.lang包中有Byte、Short、Integer、Float、Double類的調用方法:

1)public static byte parseByte(String s)

2)public static short parseShort(String s)

3)public static short parseInt(String s)

4)public static long parseLong(String s)

5)public static float parseFloat(String s)

6)public static double parseDouble(String s)

例如:

1

2

3

int

n = Integer.parseInt(

"12"

);

float

f = Float.parseFloat(

"12.34"

);

double

d = Double.parseDouble(

"1.124"

);

2、基本類型轉換為字元串類型

String類中提供了String valueOf()放法,用作基本類型轉換為字元串類型。

1)static String valueOf(char data[])

2)static String valueOf(char data[], int offset, int count)

3)static String valueOf(boolean b)

4)static String valueOf(char c)

5)static String valueOf(int i)

6)static String valueOf(long l)

7)static String valueOf(float f)

8)static String valueOf(double d)

例如:

String s1 = String.valueOf(12);

String s1 = String.valueOf(12.34);

3、進制轉換

使用Long類中的方法得到整數之間的各種進制轉換的方法:

Long.toBinaryString(long l)

Long.toOctalString(long l)

Long.toHexString(long l)

Long.toString(long l, int p)//p作為任意進制