首先說一下String類在哪一個包中?
答:java.lang包中。
在java中使用String類創建一個字符串變量,字符串變量屬於什麼?
答:對象。
關於在java中String類對象的創建:
字符串的聲明方式:String stringName;(駝峯命名法)。
字符串的創建:stringName = new String("張三") 或者直接給變量賦值 stringName = "張三",這裏需要注意的是當字符串用final修飾的時候,字符串不可改變變爲常量
java中String類的構造方法有哪些?
答:①public String()
無參構造方法,用來創建空字符串的String對象。
例如:String str = new String();
②public String(String value)
用已知的字符串value創建一個String對象。
例如:String str1 = new String("asdf");
③public String(char[] value)
用char[]數組value創建一個String對象。
例如: char[] value = {"a","b","c"};
String str2 = new String(value);
注: 用value接收到的值當作屬性放入剛創建好的字符串中。
④public String(char chars[], int numStart, int numEnd)
用字符數組chars[]的numStart開始到numEnd結束,創建一個String對象。
例如: char[] value = {"a","b","c"};
String str3 = new String(value, 1, 2);
注:從下標爲1的地方b開始截取兩個字符長度的數據存儲到str3的字符串的對象中。
⑤public String(byte[] values)
用字節數組byte[]values創建一個String對象。
例如: byte[] strb = new byte[]{65,66};
String str6 = new String(strb);
注: 用strb接收到的字節數組的值當作屬性放入剛創建好的新的空字符串中。
在Java類中String類常用方法:
①求字符串長度str.length();
public int length()//返回的值是字符串的長度
例如:String str = new String("qwertyuiop");
int strlength = str.length();
qwertyuiop的長度爲10
②字符串中某一個下標的內容str.charAt();
public char charAt(int index)//返回字符串中指定的下標;注意字符串中第一個下標爲0,最後一個是length()-1,不然會報數組下表越界異常。
例如:String str = new String("qwertyuiop");
char car = str.charAt(1);
注:car的值爲w
③截取字符串substring;
java中用String類的substring()可以截取一個字符串中的一部分內容,
例如:String str = new String("qwertyuiop");
String str1 = str1.substring(1);
注: str1 = "wertyuiop"從下標爲1開始截取
String str2 = str1.substring(1,3);
注: str2 = "wertyuiop"從下標爲1開始截取截取長度爲3
str2 = "wer"
④字符串的內容或值的對比
例如:String str = new String("qwe");
String str1 = new String("QWE");
boolean a = str.equals(str1);
注:.equals()對比的是文本內容,==比較的是地址,所以a=false
boolean b = str.equalsIgnoreCase(str1);
注:.equalsIgnoreCase=true下面有對這兩個方法的解釋
釋:使用equals( )方法比較兩個字符串是否相等。它具有如下的幾種情況:
boolean equals(Object str)
這裏str是一個用來與調用字符串(String)對象做比較的字符串(String)對象。
如果兩個字符串具有相同的字符和長度,它返回true,否則返回false。這種比較是區分大小寫的。
但是爲了執行忽略大小寫的比較,可以調用equalsIgnoreCase( )方法。當比較兩個字符串時,它會認爲A-Z和a-z是一樣的。其一般情況如下:
boolean equalsIgnoreCase(String str)
這裏,str是一個用來與調用字符串(String)對象做比較的字符串(String)對象。如果兩個字符串具有相同的字符和長度忽略大小寫,它也返回true,否則返回false。
⑤字符串拼接
public String concat(String str)//將參數中的字符串str連接到當前字符串的後面,效果等價於"+"。
例如:String str = "aa".concat("abc").concat("def");
str的值在此時變爲abcdef;
⑥字符串中查找單個字符
public int indexOf(int ch/String str)//用於查找當前字符串中字符或子串,返回字符或子串在當前字符串中從左邊起首次出現的位置,若沒有出現則返回-1。
public int indexOf(int ch/String str, int fromIndex)//改方法與第一種類似,區別在於該方法從fromIndex位置向後查找。
public int lastIndexOf(int ch/String str)//該方法與第一種類似,區別在於該方法從字符串的末尾位置向前查找。
public int lastIndexOf(int ch/String str, int fromIndex)//該方法與第二種方法類似,區別於該方法從fromIndex位置向前查找。
例如:String str = "Hallo World";
int a = str.indexOf('a'); a = 1
int b = str.indexOf("llo"); b = 2
int c = str.indexOf("o",2); c = 4
int d = str.indexOf("oooo",2); d =-1
int e = str.lastIndexOf("l"); e = 9
int f = str.lastIndexOf("l",10); f = 9
⑦字符串中字符的大小寫轉換
public String toLowerCase()//返回將當前字符串中所有字符轉換成小寫後的新串
public String toUpperCase()//返回將當前字符串中所有字符轉換成大寫後的新串
String str = new String("goMAIN");
String str1 = str.toLowerCase();//str1 = "gomain"
String str2 = str.toUpperCase();//str2 = "GOMAIN"
⑧字符串中字符的替換
public String replace(char oldChar, char newChar)//用字符newChar替換當前字符串中所有的oldChar字符,並返回一個新的字符串。
public String replaceFirst(String regex, String replacement)//該方法用字符replacement的內容替換當前字符串中遇到的第一個和字符串regex相匹配的子串,應將新的字符串返回。
public String replaceAll(String regex, String replacement)//該方法用字符replacement的內容替換當前字符串中遇到的所有和字符串regex相匹配的子串,應將新的字符串返回。
例: String str = "qwertyuqwer";
String str1 = str.replace('q','a');
str1 = "awertyuqwer"
String str2 = str.replace("qwer","abcd");
str2 = "abcdtyuqwer"
String str3 = str.replaceFirst("qwer","abcd");
str3 = "abcdtyuqwer"
String str4 = str.replaceAll("qwer","abcd");
str4 = "abcdtyuabcd"
⑨trim()去兩邊空格
String trim()//截去字符串兩端的空格,但對於中間的空格不處理。
例: String str = " qw er ";
String str1 = str.trim();
int a = str.length();
a = 7
int b = str1.length();
b = 5
⑩statWith()
boolean statWith(String prefix)或boolean endWith(String suffix)//用來比較當前字符串的起始字符或子字符串prefix和終止字符或子字符串suffix是否和當前字符串相同,重載方法中同時還可以指定比較的開始位置offset。
String str = "abcdef";
boolean a = str.statWith("ab");
a = true
boolean b = str.endWith("ef");
b = true
⑩①String[] split(String str)//將str作爲分隔符進行字符串分解,分解後的字字符串在字符串數組中返回。
例: String str = "asd!qwe|zxc#";
String[] str1 = str.split("!|#");//str1[0] = "asd";str1[1] = "qwe";str1[2] = "zxc";
String類的方法(歸納詳解)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.