本章節收集的類/接口API有:java
Object類,枚舉,包裝類,接口Comparable,類Arrays,異常,數組
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.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(): 【得到錯誤信息】