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():       【得到错误信息】

相关文章
相关标签/搜索