Java類/接口的API

本章節收集的類/接口API有:java

Object類,枚舉,包裝類,接口Comparable,類Arrays,異常,數組

Object類

public String toString():    【把一個對象的信息用一個字符串表示,儘可能要可以簡單易懂,建議子類重寫】工具

public Class<?> getClass():  【獲取對象的「運行時」類型】code

public void finalize():                 【當一個對象被肯定爲垃圾時,由GC垃圾回收器來進行調用,每個對象的finalize()方法只會被調用一次對象

public int hashCode():      【返回一個對象的hashCode值】排序

常規協定:接口

(1)若是一個對象的參與計算hashCode值的成員變量沒有修改,那麼在程序運行期間,每次獲取的hashCode值不變。內存

(2)若是兩個對象hashCode不一樣,那麼這兩個必定不「相等」字符串

(3)若是兩個的hashCode值相同,那麼這兩個對象不必定「相等」get

(4)若是兩個相等,那麼他們的hashCode值必定要相同。

public boolean equals(Object obj):               【用於判斷當前對象與指定對象是否相等】     

默認的實現,等價於「==」,比較對象的內存地址。

子類能夠選擇重寫,重寫有一些要求及原則:重寫equals時,必定要重寫hashCode方法。一致性、對稱性、自反性、傳遞性、非空對象與null的equals必定是false

protected Object clone()throws CloneNotSupportedException :   【獲取一個對象的克隆體對象】    

全部類型均可以重寫這個方法,它是獲取一個對象的克隆體對象用的,就是造一個和當前對象各類屬性值如出一轍的對象。固然地址確定不一樣。

調用此方法必須實現java.lang.Cloneable接口

枚舉

1.toString():   【默認返回的是常量名(對象名),能夠繼續手動重寫該方法】
2.name():   【返回的是常量名(對象名)】
3.ordinal():    【返回常量的次序號,默認從0開始】
4.values():    【返回該枚舉類的全部的常量對象,返回類型是當前枚舉的數組類型,是一個靜態方法】
5.valueOf(String name):     【根據枚舉常量對象名稱獲取枚舉對象】

包裝類

一、基本數據類型和字符串之間的轉換

1)String str = String.valueOf(xxx);   【把基本數據類型轉爲字符串

2)除了Character類以外,其餘全部包裝類都具備parseXxx靜態方法

  int a = Integer.parseInt("整數的字符串");      【String轉換成對應的基本類型

3)把字符串轉爲包裝類,而後能夠自動拆箱爲基本數據類型,(返回值類型是包裝類)

  int a = Integer.valueOf("整數的字符串");              【把字符串轉爲包裝類

二、數據類型的最大最小值

Integer.MAX_VALUE和Integer.MIN_VALUE                【返回對應類型的最大/小常量值】

三、字符轉大小寫

Character.toUpperCase('x');                                    【字符轉大寫】
Character.toLowerCase('X');  【字符轉小寫】

四、整數轉進制

Integer.toBinaryString(int i)                                         【整數轉二進制】
Integer.toHexString(int i)                                             【整數轉十六進制】
Integer.toOctalString(int i)                【整數轉八進制】

接口Comparable,Comparator

int compareTo(Object obj);  【根據對象屬性的值按天然排序】

第一步:哪一個類的對象要比較大小,哪一個類就實現java.lang.Comparable接口,並重寫方法

第二步:對象比較大小時,經過對象調用compareTo方法,根據方法的返回值決定誰大誰小。

接口規定:返回值大於0調用對象大於指定對象,小於0就小於指定對象,等於0就兩個對象值相等

(java.util.Arrays數組工具類的public static void sort(Object[] a)就是這麼實現的)

int compare(Object o1,Object o2);                            根據對象屬性的值按定製排序】

第一步:編寫一個類,咱們稱之爲比較器類型,實現java.util.Comparator接口,並重寫方法

第二步:比較大小時,經過比較器類型的對象調用compare()方法,將要比較大小的兩個對象做爲compare方法的實參傳入,根據方法的返回值決定誰大誰小。

  • o1對象大於o2返回正整數

  • o1對象小於o2返回負整數

  • o1對象等於o2返回零

(java.util.Arrays數組工具類的public static <T> void sort(T[] a, Comparator<? super T> c)就是這作的)

java.lang.Cloneable接口,和Object類配合使用                【用於複製對象】

類 Arrays

此類包含用來操做數組(好比排序和搜索)的各類方法。此類還包含一個容許將數組做爲列表來查看的靜態工廠

可按照參數類型按升序排序,還可指定範圍按升序進行排序。

Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);  【忽略大小寫排序】

Arrays.sort(strArray, Collections.reverseOrder());                  【反向排序】

Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);  【忽略大小寫反向排序】

sort(T[] a, Comparator<? super T> c)   【根據指定比較器產生的順序對指定對象數組進行排序。(同上面接口配合使用)】

異常

e.toString():           【得到異常種類和錯誤信息】

e.getMessage():       【得到錯誤信息】

相關文章
相關標籤/搜索