String基本型別原來是這麼使用的(詳解)
首先說一下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”;
作者:qq_40001362
來源:CSDN
原文:https://blog.csdn.net/qq_40001362/article/details/82186173
版權宣告:本文為博主原創文章,轉載請附上博文連結!