Java常用API(一)——字符串String類

    String是不變對象,JVM對String有一個優化:常量池 當使用字面量形式創建字符串對象時,JVM會將其緩存在常量池中,當再次使用該字面量創建字符串對象時就重用對象,避免內存中堆積大量內容一樣的字符串對象,減少內存開銷。

    一個計算表達式參與運算的內容是確定值時,編譯器會進行計算然後編譯到.class文件中,避免JVM每次執行程序的時候再做運算。字符串爲不變對象,一旦創建內容不可修改。若改變則創建新對象。

public class StringDemo {
	public static void main(String[] args) {
		String s1="1a";
		String s2="1a";
		String s3="1a";
		String s4="1"+"a";
		String s5="1";
		String s6=s5+"a";
		String s7=new String("1a");

		System.out.println(s1==s2);//true
		System.out.println(s1==s3);//true
		System.out.println(s1==s4);//true
		System.out.println(s1==s6);//false
		System.out.println(s1==s7);//false

		s1=s1+".";//創建一個新的對象
		System.out.println(s1);
		System.out.println(s2);
		System.out.println(s2==s1);//false
	}
}

 

int length( ):獲取當前字符串長度,不論什麼字符都是一個長度

int indexOf(String str):獲取給定字符串在當前字符串中位置,沒有返回-1

int indexOf(String str,int pos)

int lastIndexOf(String str)

char charAt(int index):獲取給定位置字符

    這裏有一個判斷迴文的案例

public class CharAt {
	public static void main(String[] args) {
		String string2="上海自來水來自海上";
		boolean check=true;
		for (int i = 0; i < string2.length()/2; i++) {
			if (string2.charAt(i)!=
			string2.charAt(string2.length()-1-i)) {
				System.out.println("不是迴文");
				break;
			}
		}
			System.out.println("是迴文");
	}
}

boolean startsWith(String str)

boolean endsWith(String str)

    判斷字符串是否以給定的字符串開始或結尾的

String subString(int start,int end)

    截取指定範圍內的字符串,區間左閉右開

trim( ):省去前面和後面的空白和縮進

String toUpperCase( )

String toLowerCase( )

    英文轉換爲全大寫或小寫(驗證碼中常用)

    字符串提供了一組重載的valueOf方法,可以將其他類型轉換爲字符串,但注意這是一組靜態方法,通過類名.調用

    這裏有一個實現給定地址截取域名的綜合案例。

public class Test {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		String string=scanner.nextLine();
		System.out.println(getName(string));
	}
	/**
	 * 獲取給定地址的域名
	 * @param string 給定的地址
	 * @return 域名
	 */
	public static String getName(String string) {
		int frontPoint=string.indexOf(".");
		int behindPoint=string.indexOf(".",frontPoint+1);
		return string.substring(frontPoint+1, behindPoint);
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章