java系统常⽤接⼝类型_Java-常⽤类、接⼝API
本章节收集的类/接⼝API有:
Object类
⾮静态⽅法需对象调⽤
public String toString(): 【把⼀个对象的信息⽤⼀个字符串表⽰,尽量要能够简单易懂,建议⼦类重写】
public Class>getClass(): 【获取对象的“运⾏时”类型】
public voidfinalize(): 【当⼀个对象被确定为垃圾时,由GC垃圾回收器来进⾏调⽤,每⼀个对象的finalize()⽅法只会被调⽤⼀次】
public int hashCode(): 【返回⼀个对象的hashCode值】
常规协定:
(1)如果⼀个对象的参与计算hashCode值的成员变量没有修改,那么在程序运⾏期间,每次获取的hash
Code值不变。
(2)如果两个对象hashCode不同,那么这两个⼀定不“相等”
(3)如果两个的hashCode值相同,那么这两个对象不⼀定“相等”
(4)如果两个相等,那么他们的hashCode值⼀定要相同。
public boolean equals(Object obj): 【⽤于判断当前对象与指定对象是否相等】
默认的实现,等价于“==”,⽐较对象的内存地址。
⼦类可以选择重写,重写有⼀些要求及原则:重写equals时,⼀定要重写hashCode⽅法。⼀致性、对称性、⾃反性、传递性、⾮空对象与null的equals⼀定是false
protected Object clone()throws CloneNotSupportedException : 【获取⼀个对象的克隆体对象】
所有类型都可以重写这个⽅法,它是获取⼀个对象的克隆体对象⽤的,就是造⼀个和当前对象各种属性值⼀模⼀样的对象。当然地址肯定不同。
调⽤此⽅法必须实现java.lang.Cloneable接⼝。
枚举
2.name(): 【返回的是常量名(对象名)】
4.values(): 【返回该枚举类的所有的常量对象,返回类型是当前枚举的数组类型,是⼀个静态⽅法】
5.valueOf(String name): 【根据枚举常量对象名称获取枚举对象】
包装类
⼤部分⽅法为静态⽅法,可⽤类名调⽤
1、基本数据类型和字符串之间的转换
1)String str = String.valueOf(xxx); 【把基本数据类型转为字符串】
2)除了Character类之外,其他所有包装类都具有parseXxx静态⽅法
int a = Integer.parseInt("整数的字符串"); 【String转换成对应的基本类型】
3)把字符串转为包装类,然后可以⾃动拆箱为基本数据类型,(返回值类型是包装类)
int a = Integer.valueOf("整数的字符串"); 【把字符串转为包装类】
2、数据类型的最⼤最⼩值
Integer.MAX_VALUE和Integer.MIN_VALUE 【返回对应类型的最⼤/⼩常量值】
3、字符转⼤⼩写
4、整数转进制
compareTo(String)和compareToIgnoreCase(String)⽅法 【对两个字符串进⾏⽐较】
接⼝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 void sort(T[] a, Comparator super T> c)就是这做的)
java.lang.Cloneable接⼝,和Object类配合使⽤ 【⽤于复制对象】
类 Arrays
全部为静态⽅法
此类包含⽤来操作数组(⽐如排序和搜索)的各种⽅法。此类还包含⼀个允许将数组作为列表来查看的静态⼯⼚。⽽且如下每⼀个⽅法都有各种重载形式,以下只
列出int[]类型的,其他类型的数组类推。其可按照参数类型按升序排序,还可指定范围按升序进⾏排序。
static int binarySearch(int[] a, int key) 【要求数组有序,在数组中查key是否存在,如果存
在返回第⼀次到的下标,不存在返回负数】
static int[] copyOf(int[] original, int newLength) 【根据original原数组复制⼀个长度为newLength的新数组,并返回新数组】
static int[] copyOfRange(int[] original, int from, int to) 【复制original原数组的[from,to)构成新数组,并返回新数组】
static boolean equals(int[] a, int[] a2) 【⽐较两个数组的长度、元素是否完全相同】
static void fill(int[] a, int val) 【⽤val填充整个a数组】
static void fill(int[] a, int fromIndex, int toIndex, int val) 【将a数组[fromIndex,toIndex)部分填充为val】
static void sort(int[] a) 【将a数组按照从⼩到⼤进⾏排序】
static void sort(int[] a, int fromIndex, int toIndex) 【将a数组的[fromIndex, toIndex)部分按照升序排列】
static StringtoString(int[] a) 【把a数组的元素,拼接为⼀个字符串,形式为:[元素1,元素2,元素3。。。]】
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER); 【忽略⼤⼩写排序】
Arrays.sort(strArray, verseOrder()); 【反向排序】
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER); 【忽略⼤⼩写反向排序】
Comparator super T> c) 【根据指定⽐较器产⽣的顺序对指定对象数组进⾏排序。(同上⾯接⼝配合使⽤)】
Thread类
public String getName() 【获取当前线程名称】
public final int getPriority() 【返回线程优先级】
public final voidsetPriority(int newPriority) 【改变线程的优先级,最⾼10级,最低1级,默认5级】
public static voidsleep(long millis) : 【使当前正在执⾏的线程以指定的毫秒数暂停(暂时停⽌执⾏),期间会⼀直持有锁对象】。
public static void yield(): 【只是让当前线程暂停⼀下,随后继续和其他线程竞争】
public static Thread currentThread() 【返回对当前正在执⾏的线程对象的引⽤。】
Thread.State getState() 【返回该线程的状态。】
voidinterrupt() 【中断线程。】
public final boolean isAlive(): 【测试线程是否处于活动状态。如果线程已经启动且尚未终⽌,则为活动状态。】
void join() : 【等待该线程终⽌】
boolean isInterrupted() 【测试线程是否已经中断】
void join(long millis) : 【等待该线程终⽌的时间最长为 millis 毫秒】
setDaemon(true) 【⽅法可将指定线程设置为守护线程。必须在线程启动之前设置】
isDaemon() 【可以判断线程是否是守护线程】
static boolean holdsLock(Object obj) 【当且仅当当前线程在指定的对象上保持监视器锁时,才返回true】
java.lang.System类
全部为静态⽅法
static long currentTimeMillis() : 【返回当前系统时间距离1970-1-1 0:0:0的毫秒值】
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) (srcPos - 源数组中的起始位置。destPos -⽬标数据中的起始位置,length-要复制的数组元素的数量)从指定源数组中复制⼀个数组,复制到指定的数组。常⽤于数组的插⼊和删除,可以是同⼀数组
static void exit(int status) : 【退出当前系统,参数0表⽰正常退出,⾮零整数异常退出】
static String getProperty(String key): 【获取某个系统属性值,Properties()配合使⽤,获取系统属性】
static void gc() : 【运⾏垃圾回收器】
java.lang.Runtime
类它的对象代表当前程序运⾏的JVM环境。
(1)public long totalMemory(): 【总内存】
(2)public long freeMemory(): 【空闲内存】
(3)public static Runtime getRuntime() 【返回与当前 Java 应⽤程序相关的运⾏时对象。】
(4)gc();
Math
全部为静态⽅法
⽤于数学运算,其所有⽅法均为静态⽅法,并且不会创建对象
public static double abs(double a)【返回 double 值的绝对值】
public static double ceil(double a)【返回⼤于等于参数的最⼩的整数】
public static double floor(double a) 【返回⼩于等于参数最⼤的整数】
public static long round(double a): 【返回最接近参数的 long。(相当于四舍五⼊⽅法)】
public static double pow(double a,double b): 【返回a的b幂次⽅】
public static doublesqrt(double a): 【返回a的平⽅根】
public static double random(): 【返回[0,1)的随机值】
public static final double PI: 【返回圆周率】
public static double max(double x, double y): 【返回x,y中的最⼤值】
public static double min(double x, double y): 【返回x,y中的最⼩值】
BigInteger
java.math包,不可变的任意精度的整数。
BigInteger(String val)
java生成随机数的方法BigInteger add(BigInteger val) 【加】
BigInteger subtract(BigInteger val) 【减】
BigInteger multiply(BigInteger val) 【乘】
BigInteger divide(BigInteger val) 【除】
BigInteger remainder(BigInteger val) 【余】
BigDecimal
不可变的、任意精度的有符号⼗进制⼩数。
不可直接⽤运算符计算,要new对象来表⽰数据,要通过add,subtract,multiply,divide等⽅法来进⾏算术运算,参见API,其中除法运算需要指定类型和精度
RoundingMode枚举类
CEILING :向正⽆限⼤⽅向舍⼊的舍⼊模式。
DOWN :向零⽅向舍⼊的舍⼊模式。
FLOOR:向负⽆限⼤⽅向舍⼊的舍⼊模式。
HALF_DOWN :向最接近数字⽅向舍⼊的舍⼊模式,如果与两个相邻数字的距离相等,则向下舍⼊。
HALF_EVEN:向最接近数字⽅向舍⼊的舍⼊模式,如果与两个相邻数字的距离相等,则向相邻的偶数舍⼊。
HALF_UP:向最接近数字⽅向舍⼊的舍⼊模式,如果与两个相邻数字的距离相等,则向上舍⼊。
UNNECESSARY:⽤于断⾔请求的操作具有精确结果的舍⼊模式,因此不需要舍⼊。
UP:远离零⽅向舍⼊的舍⼊模式。
Random
⾮静态⽅法,需对象调⽤
java.util.Random,⽤于产⽣随机数
boolean nextBoolean(): 【返回下⼀个伪随机数,它是取⾃此随机数⽣成器序列的均匀分布的 boolean 值。】
void nextBytes(byte[] bytes): 【⽣成随机字节并将其置于⽤户提供的 byte 数组中。】
double nextDouble(): 【返回下⼀个伪随机数,它是取⾃此随机数⽣成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。】
float nextFloat(): 【返回下⼀个伪随机数,它是取⾃此随机数⽣成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。】
double nextGaussian(): 【返回下⼀个伪随机数,它是取⾃此随机数⽣成器序列的、呈⾼斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。】
int nextInt(): 【返回下⼀个伪随机数,它是此随机数⽣成器的序列中均匀分布的 int 值。】
int nextInt(int n): 【返回⼀个伪随机数,它是取⾃此随机数⽣成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的int 值。】
long nextLong(): 【返回下⼀个伪随机数,它是取⾃此随机数⽣成器序列的均匀分布的 long 值。】
⽇期时间
java.util.Date
new Date(): 【当前系统时间】
long getTime(): 【返回该⽇期时间对象距离1970-1-1 0.0.0 0毫秒之间的毫秒值】
new Date(long 毫秒): 【把该毫秒值换算成⽇期时间对象】
java.util.Calendar
它是抽象类,⽆法直接创建对象,直接创建⼦类对象:GregorianCalendar
通过指定时区和语⾔环境来创建对象,Instance(时区,语⾔环境),如果没有指定,就根据操作系统默认的时区和语⾔环境
int get(int field) 【返回给定⽇历字段的值】
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论