Math类
方法签名 | 描述 |
---|
public static int abs(int a) | 返回参数的绝对值 |
public static double ceil(double a) | 返回大于或等于参数的最小整数 |
public static double floor(double a) | 返回小于或等于参数的最大整数 |
public static int round(float a) | 按照四舍五入返回最接近参数的int类型的值 |
public static int max(int a,int b) | 获取两个int值中的较大值 |
public static int min(int a,int b) | 获取两个int值中的较小值 |
public static double pow (double a,double b) | 计算a的b次幂的值 |
public static double random() | 返回一个[0.0,1.0)的随机值 |
System类
方法签名 | 描述 |
---|
public static long currentTimeMillis() | 获取当前时间所对应的毫秒值 |
public static void exit(int status) | 终止当前正在运行的Java虚拟机 |
public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) | 进行数值元素copy |
Runtime类
方法签名 | 描述 |
---|
public static Runtime getRuntime() | 当前系统的运行环境对象 |
public void exit(int status) | 停止虚拟机 |
public int availableProcessors() | 获得CPU的线程数 |
public long maxMemory() | JVM能从系统中获取总内存大小(单位byte) |
public long totalMemory() | JVM已经从系统中获取总内存大小(单位byte) |
public long freeMemory() | JVM剩余内存大小(单位byte) |
public Process exec(String command) | 运行cmd命令 |
object类
方法名 | 描述 |
---|
toString() | 返回该对象的字符串表示形式(可以看做是对象的内存地址值) |
equals(Object obj) | 比较两个对象地址值是否相等;true表示相同,false表示不相同 |
clone() | 对象克隆,默认是浅克隆 |
使用克隆时,无法直接调用,需要重写,并需要实现Cloneable
接口(因为克隆方法写在lang
包下,且是protected
修饰,包外无法调用)
克隆方法会在底层帮我们创建一个对象,并把原对象中的数据拷贝过去
对象克隆方式1:浅克隆(被克隆对象引用数据类型更改,克隆出来的对象不更改):
- 基本数据类型:数据值直接拷贝过来
- 引用数据类型:拷贝地址值
对象克隆方式2:深克隆(被克隆对象引用数据类型更改,克隆出来的对象也跟着更改):
- 基本数据类型:数据值直接拷贝
- 字符串复用
- 引用数据类型:创建一个新对象,把值传入
Object
是Java中的顶级父类,所有的类都直接或间接地继承于Object
类。
Objects
是一个工具类,提供了一些方法去完成一些功能(例如给equals方法加上非空判断)
- 重要方法
重要方法 | 描述 |
---|
public static String toString(Object o) | 获取对象的字符串表现形式 |
public static boolean equals(Object a, Object b) | 先做非空判断,比较两个对象是否相等 |
public static boolean isNull(Object obj) | 判断对象是否为null |
public static boolean nonNull(Object obj) | 判断对象是否不为null,跟isNull的结果相反 |
- 常见方法
方法签名 | 描述 |
---|
public static <T> T requireNonNull(T obj) | 检查对象是否不为null,如果为null直接抛出异常;如果不是null返回该对象; |
public static <T> T requireNonNullElse(T obj, T defaultObj) | 检查对象是否不为null,如果不为null,返回该对象;如果为null返回defaultObj值 |
public static <T> T requireNonNullElseGet(T obj, Supplier<? extends T> supplier) | 检查对象是否不为null,如果不为null,返回该对象;如果为null,返回由Supplier所提供的值 |