Java的API及Object類、String類

        Java的API(Application Programming Interface)(應用程序接口)是JDK中提供的類,這些類將底層的代碼實現封裝了起來,使用者不需要關心這些類是如何實現的,只需要學習如何使用即可。

        在JDK安裝目錄下有個src.zip文件,這個文件解壓縮后里面的內容是所有Java類的源文件。可以在其中查看相對應的類源碼。我們可以通過查幫助文檔的方式來了解Java提供的API如何使用。

        Object類    Object類是Java語言中的根類,是所有類的父類,它描述的所有方法子類都可以使用。所有類在創建對象的時候,最終找的父類就是Object。下面介紹Object類中的equals方法與toString方法。

            equals方法    用於比較兩個對象是否相同

        

        其實就是使用兩個對象的內存地址在比較。equals方法內部使用的就是==比較運算符。

/*
 	描述人這個類,並定義功能根據年齡判斷是否是同齡人
 	由於要根據指定類的屬性進行比較,這時只要覆蓋Object中的equals方法
 	在方法體中根據類的屬性值進行比較
 */
class Person extends Object{
	int age ;
	//複寫父類的equals方法,實現自己的比較方式
	public boolean equals(Object obj) {
		//判斷當前調用equals方法的對象和傳遞進來的對象是否是同一個
		if(this == obj){
			return true;
		}
		//判斷傳遞進來的對象是否是Person類型
		if(!(obj instanceof Person)){
			return false;
		}
		//將obj向下轉型爲Perosn引用,訪問其屬性
		Person p = (Person)obj;
		return this.age == p.age;
	}
}

注意:在複寫Object中的equals方法時,要注意public boolean equals(Object obj)的參數是Object類型,在調用對象屬性時,一定要進行類型轉換,在轉換之前必須進行類型判斷,

            toString方法    返回該對象的字符串表示

        

        該字符串內容就是對象的類型+@+內存地址,在開發中需要按照對象的屬性得到相應的字符串表現形式,因此需要重寫它。

class Person extends Object{
	int age ;
	//根據Person類的屬性重寫toString方法
	public String toString() {
		return "Person [age=" + age + "]";
	}
}

        String類    String類代表字符串。Java中所有字符串字面值都作爲此類的實例實現。

            String構造方法     構造方法是用來完成String對象的創建。

                    

            String類的方法查找    

  • 字符串中有多少個字符

  • 獲取部分字符串


  • 字符串是否以指定字符串開頭和結尾

  • 字符串中是否包含另一個字符串

  • 將字符串轉成一個字符數組或者字節數組

  • 判斷兩個字符串中的內容是否相同

String str = "abcde";
String str2 = "abcde";
String str3 = "hello";
boolean b1 = str.equals(str2);
boolean b2 = str.equals(str3);
  • 獲取該字符串對象的內容

        字符串緩衝區   

            StringBuffer類    又稱爲可變字符序列,是一個類似於String的字符串緩衝區,通過某些調用可以改變該序列的長度和內容。

代碼演示:

創建一個字符串緩衝區對象。用於存儲數據。
StringBuffer sb = new StringBuffer();
sb.append("haha"); //添加字符串
sb.insert(2, "it");//在指定位置插入
sb.delete(1, 4);//刪除
sb.replace(1, 4, "cast");//替換指定範圍內的內容
String str = sb.toString();
StringBuilder類        也是字符串緩衝區。StringBuilder是一個可變的字符序列。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章