天天看點

常見API——String類的常用方法

public class TestString {
	public static void main(String[] args) {
		//字元串常量會被放入常量池中
		String string="abc";
		String string2=new String("def");
		String string3="abd"+"dedsd";
		String string4="18"+19;  //不是加法  是字元串連接配接符
		System.out.println(string4);
		
		System.out.println("##################");
		//10 和 11是同一對象  在常量池中取得是同一個   12建立了對象
		String str10="gaoqi";
		String str11="gaoqi";
		String str12=new String("gaoqi");
		
		System.out.println(str10==str11);//ture
		System.out.println(str12==str11);//false
		
		System.out.println("$$$$$$$$$$$$$");
		//通常比較字元串時,使用equals  比較字元(不比較字元的時候,equals仍然比較的是位址)
		// ==比較的是位址是否一樣,
		System.out.println(str12.equals(str11));
		
	}
           
public class TestString2 {
	public static void main(String[] args) {
		String s1="core java";
		String s2="Core java";
		
		System.out.println(s1.length());//提取字元串的長度
		System.out.println(s1.charAt(3));//提取下标為3的字元
		
		System.out.println(s2.length());//字元串的長度  空格也算一個長度
		
		System.out.println(s1.equals(s2));//比較兩個字元串是否相等
		System.out.println(s1.equalsIgnoreCase(s2));//比較兩個字元串,忽略大小寫
		
		System.out.println(s1.indexOf("java"));//字元串s1中是否包含java,傳回第一次出現的位置,沒有則傳回-1
		System.out.println(s1.indexOf("apple"));//字元串s1中是否包含apple
		
		String s=s1.replace(' ','&');//将s1中的空格替換成&
		System.out.println("result is:"+s);
	
		String s3="";
		String s4="How are you?";
		
		System.out.println(s1.startsWith("How"));//是否以How開頭
		System.out.println(s1.endsWith("you"));//是否以you結尾
	
		s3=s4.substring(4);//提取子字元串,從下表為4的開始到字元串結尾為止
		System.out.println(s3);
		s3=s1.substring(4,7);//提取子字元串,下标[	4,7) 不包括7
		
		System.out.println(s3);
		s3=s1.toLowerCase();//轉小寫
		System.out.println(s3);
		s3=s1.toUpperCase();//轉大寫
		System.out.println(s3);
		
		s2=" How old are you?  ";
		s=s2.trim();//去除字元串首尾的空格,注意:中間的空格不能去除
		System.out.println(s);
		System.out.println(s2);//string是不可變字元串,s2不變
				
	    //将字元串轉化為字元串數組(字元串的切割,涉及到了正規表達式)
		s1="張三,李四,王五";
		String[] arr=s1.split(",");
		for (int i=0;i<arr.length;i++) {System.out.println(arr[i]);}
		
		//将字元串轉化為字元數組
		char[] arr2=s1.toCharArray();
		for (int i=0;i<arr.length;i++) {System.out.println(arr2[i]);}
		
		//将字元串轉化為位元組數組
		s1="ab你";
		byte[] bytes=s1.getBytes();
		for (int i = 0; i < bytes.length; i++) {System.out.println(bytes[i]);}
		}
}
           
String string="aaaabbbb";  //本質上是一個char value[]-字元數組。有final修飾,隻能指派一次,故不可變
		String string2=string.substring(2,5);
		
		System.out.println(string);
		System.out.println(string2);
		
		//編譯器做了優化,直接在編譯的時候将字元串進行拼接
		String str1="hello"+"java"; //相當于str1="hello java";
		String str2="hello java";
		System.out.println(str1==str2); //true
		String  string3="hello";
		String  string4="java";
		
		//編譯的時候不知道變量中存儲的是什麼,是以沒法在編譯時優化
		String str5=string3+string4;
		System.out.println(str2==str5);//false
		
		System.out.println(str2.equals(str5));//字元串比較時,用equals不用==
		
           
常見API——String類的常用方法