首頁  >  文章  >  Java  >  Java中string類別的常用方法有哪些?

Java中string類別的常用方法有哪些?

青灯夜游
青灯夜游原創
2020-07-27 11:54:3110404瀏覽

string類別的常用方法有:length()、charAt()、substring()、compareTo()、compareToIgnore()、equals()、concat()、indexOf()、lastIndexOf()等等。

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"); 
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位置的字元作為一個新的字串返回。

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方法相似,但忽略大小寫。

String str1 = new String("abc");
String str2 = new String("ABC");
int a = str1.compareTo(str2);//a>0
int b = str1.compareToIgnoreCase(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位置向前找到。

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()//傳回將目前字串中所有字元轉換成大寫後的新字串

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相匹配的子串,应将新的字符串返回。

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()//截去字符串两端的空格,但对于中间的空格不处理。

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。

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是否被包含在字符串中,并返回一个布尔类型的值。

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)

例如:

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作为任意进制

推荐教程:《java教程

以上是Java中string類別的常用方法有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn