java字串建立及常用方法
字串String(一個字元陣列,常量,不可變):
1. 建立並初始化字串:
1). 使用字串常量直接初始化 String s="hello!";
2). 使用構造方法建立並初始化
String();//初始化一個物件,表示空字元序列
String(value);//利用已存在的字串常量建立一個新的物件
String (char[] value);//利用一個字元陣列建立一個字串
String(char[] value,int offset,int count);//擷取字元陣列offset到count的字元建立一個非空串
String(StringBuffer buffer);//利用StringBuffer物件初始化String物件
public class zifuchuan { public static void main(String[] args) { String str3="字串常量"; String str="字串常量字串常量";//引起來表示一個字串常量 char[] c=new char[]{'我','很','好'}; String str4=new String(c); System.out.println("str4="+str4); String str1=new String("字串常量");//構造方法 String str2=new String("字串常量");//開闢新的記憶體空間 System.out.println("str="+str); System.out.println("str1="+str1); System.out.println("str2="+str2); System.out.println("str1和str2是否相等:"+(str1==str2)); System.out.println("str1和str是否相等:"+(str1==str)); System.out.println("str和str2是否相等:"+(str==str2)); System.out.println("str和str3是否相等:"+(str==str3)); //==運算,比較的是記憶體地址是否相等 System.out.println("str1和str2是否相等:"+(str1.equals(str2))); System.out.println("str1和str是否相等:"+(str1.equals(str))); System.out.println("字串長度="+str.length());//字串資訊 //查詢字串中子字串的位置,返回找到之後首字的索引值 System.out.println("常字的位置="+str.indexOf("常")); System.out.println("常量字的位置="+str.indexOf("常量")); //查詢不到,返回-1; System.out.println("我字的位置="+str.indexOf("我")); System.out.println("最後常字的位置="+str.lastIndexOf("常")); //獲取字元 char c1=str.charAt(0); System.out.println("c1="+c1); } } //執行結果 /* str4=我很好 str=字串常量字串常量 str1=字串常量 str2=字串常量 str1和str2是否相等:false str1和str是否相等:false str和str2是否相等:false str和str3是否相等:false str1和str2是否相等:true str1和str是否相等:false 字串長度=10 常字的位置=3 常量字的位置=3 我字的位置=-1 最後常字的位置=8 c1=字 */
2. 字串的常用方法:
獲取字串資訊:
下標:indexOf(子字元)lastIndexOf(子字元)
字元:charAt(下標)
位元組陣列:getBytes()
字元陣列:toCharArray()
長度:length()
判斷字串
相等:equals(字串)
字首:startsWith(字首)
字尾:endsWith(字尾)
大小:compareTo()
子字串:reagionMatches()(通過引數列表可以設定是否忽略大小寫)
替換字串
去掉前後空格:trim()
子字串:split(字串),StringTokenizer()
擷取字串
單點擷取:subString(開始下標)
雙點擷取:subString(開始下標,結束下標)
1) charAt(下標):獲取字串指定下標位置的字元,返回char值
2) length():返回字串的長度,返回int值
3) getBytes():將字串轉換為位元組陣列,返回byte[]值
4) indexOf(子字串):返回指定子字串在源字串中的下標,返回int值,沒找到返回-1.(可以指定開始檢索的位置下標)
5) lastIndexOf():返回指定子字串在源字串中最後一次出現的下標
6) isEmpty():判斷字串的length是否為0,返回Boolean值
7) replace(舊子字串,新字串):用指定的新字串替換源字串中的舊子字串部分,返回替換後的字串,返回值String
8) subString(開始下標,結束下標):擷取從開始到結束下標範圍的字串,結果包含開始,不包含結束,如果不給結束下標,表示直接擷取到末尾
9) split(字串):按照指定的字串拆分源字串,返回String[]陣列
10) trim():用於返回去掉首尾空格的字串
11) valueOf(其他型別資料):將指定資料轉換為字串值返回
12) toCharArray():返回將此字串轉換為一個新的字元陣列
13) toString():返回此物件本身
14) toLowerCase():把字串全部轉換為小寫
15) toUpperCase():把字串全部轉換為大寫
16) startsWith(字首):判斷字首是否相同
17) endsWith(字尾):判斷後綴是否相同
18) compareTo():判斷字串的大小關係,參考ASSCI表
19) compareToIgnoreCase():忽略大小寫判斷字串的大小關係
20) equals(字串):比較字串和指定字串是否相等,返回boolean值
21) equalsIgnoreCase():忽略大小寫的情況下判斷內容是否相同
22) reagionMatches() :測試兩個字串區域是否相等
3. 字串轉換
全部轉換為大/小寫:
大寫:toLowerCase()
小寫:toUpperCase()
與其他基本型別的轉換:
把雙引號中為數字的字串轉換成數字型別:包裝類.parse包裝類(字串);
Long.parseLong("1231");
Double.parseDouble("0.213");
把其他型別的引數轉換為字串型別:valueOf()
第一種方法:基本資料型別變數+""
第二種方法:String.valueOf(其他型別的引數);
4. 關於字串類的說明:
字串類是常量類,所以字串是常量,不可改變