天天看點

java常用類:StringString類

String類

String是特殊的引用類型 字元串是常量;它們的值在建立之後不能更改。(常量是在方法區中:字元串常量池 ;前提:将字元串常量直接指派的形式 )

構造方法 :

String() :空參構造

String(byte[] bytes):将位元組數組-->String 資料

String(byte[] bytes, int offset, int length):将位元組數組的一部分轉換字元串

String(char[] value) :将字元數組轉換成字元串

String(char[] value, int offset, int length):将字元數組的一部分轉換字元串

 String(String original) :建立一個字元串對象:傳遞字元串常量

String s ="" ; String s = null ;差別: 前者:表示目前s對象是一個空内容 後者:表示空對象

字元串的特點:

字元串是常量,一旦被指派,其值不能被更改

内容不能變,引用可以變

java常用類:StringString類

String s = new String(“hello”)和String s = “hello”的差別

java常用類:StringString類

String類的判斷功能

        public boolean equals(Object obj):                比較字元串的内容是否相同,區分大小寫

        public boolean equalsIgnoreCase(String str):        比較字元串的内容是否相同,忽略大小寫

        public boolean contains(String str):                判斷字元串中是否包含傳遞進來的字元串

        public boolean startsWith(String str):                判斷字元串是否以傳遞進來的字元串開頭

        public boolean endsWith(String str):                判斷字元串是否以傳遞進來的字元串結尾

        public boolean isEmpty():                               判斷字元串是否為空

equals

public boolean equals(Object anObject)
           

将此字元串與指定的對象比較。當且僅當該參數不為

null

,并且是與此對象表示相同字元序列的

String

對象時,結果才為

true

/**
 * 字元串變量相加,是先開辟空間(不是先相加),在看常量池中是否有這個字元串常量..
 * 字元串常量相加,是先拼接(先相加),在開辟空間
 * @author Administrator
 *
 */
public class StringDemo5 {
	
	public static void main(String[] args) {
		String s1 = "hello";
		String s2 = "world";
		String s3 = "helloworld";
		System.out.println(s3 == s1 + s2);//false
		System.out.println(s3.equals((s1 + s2))) ;//true

		//s==helloworld
		System.out.println(s3 == "hello" + "world");//true
		System.out.println(s3.equals("hello" + "world"));//true
	}
}
           

==與equals的差別:

1.對于基本資料類型,==比較的是資料的值是否相等,euals隻能比較對象

2.對于普通對象,==和equals都是比較的兩個對象的位址是否相同

3.對于String:==比較的對象的位址,equals比較的是字元串的内容是否相同,原因:String類重寫了equals方法

String類的擷取功能

        public int length():                            擷取字元串的長度。

        public char charAt(int index):                    擷取指定索引位置的字元

        public int indexOf(int ch):                        傳回指定字元在此字元串中第一次出現處的索引。

        public int indexOf(String str):                    傳回指定字元串在此字元串中第一次出現處的索引。

        public int indexOf(int ch,int fromIndex):            傳回指定字元在此字元串中從指定位置後第一次出現處的索引。

        public int indexOf(String str,int fromIndex):        傳回指定字元串在此字元串中從指定位置後第一次出現處的索引。

            可以順帶提一下lastIndexOf系列(類似)

        public String substring(int start):                從指定位置開始截取字元串,預設到末尾。

        public String substring(int start,int end):        從指定位置開始到指定位置結束截取字元串。

 String的轉換功能:

        public byte[] getBytes():                        把字元串轉換為位元組數組。

        public char[] toCharArray():                    把字元串轉換為字元數組。

        public static String valueOf(char[] chs):            把字元數組轉成字元串。

        public static String valueOf(int i):                把int類型的資料轉成字元串。

            注意:String類的valueOf方法可以把任意類型的資料轉成字元串。

        public String toLowerCase():                    把字元串轉成小寫。

        public String toUpperCase():                    把字元串轉成大寫。

        public String concat(String str):                将指定字元串連接配接到此字元串末尾

統計小串在大串中出現了幾次:

public static void main(String[] args) {
        //統計大串中小串出現的次數
        String maxStr = "woaijavawozjavahendeaijavawohenajavaihenaijava";
        String minstr = "java";
        int count =0;
        int index = 0;
        while((index = maxStr.indexOf(minstr)) != -1){
            count ++;
            maxStr = maxStr.substring(index+minstr.length());
           
        }
        System.out.println(minstr+"出現了"+count+"次");;
    }
           

String的替換功能

        public String replace(char old,char new)            将指定字元進行互換

        public String replace(String old,String new)        将指定字元串進行互換

String的去除字元串兩空格

        public String trim()