1. 程式人生 > >java字串建立及常用方法

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. 關於字串類的說明:

  字串類是常量類,所以字串是常量,不可改變