Java中的常用API

158 阅读3分钟

常用API(应用程序编程接口)

1. Object中常用API

方法名说明
public String toString()默认返回当前对象在堆内存中的地址信息:类的权限名@内存地址
public boolean equals(Object o)默认是比较当前对象与另一个对象的地址是否相同,相同返回true,不同返回false

1.1 Object类中toString()方法存在的意义

  • 为了被子类重写,以便返回对象的内容信息,而不是地址信息!!

1.2 Object类中equals(Object o)方法存在的意义

  • 为了被子类重写,以便子类自己来定制比较规则。

1.3 重写toString()和equals()方法的类

  • String、Date、File、包装类等都重写了Object类中的toString()和equals()方法。

2. Objects中常用API

方法名说明
public static boolean equals(Object a, Object b)比较两个对象的,底层会先进行非空判断,从而可以避免空指针异常(更安全)。再进行equals比较
public static boolean isNull(Object obj)判断变量是否为null ,为null返回true ,反之亦然

注:Objects.isNull(s1) 等价于 s1==null

在自动生成equals()方法进行字符串比较时,没有用字符串对象的的equals方法,而是选择了Objects的equals方法来比较。使用Objects的equals方法在进行对象的比较会更安全

@Override
public boolean equals(Object o) {
    // 1、判断是否是同一个对象比较,如果是返回true。    
    if (this == o) return true;   
    // 2、如果o是null返回false;如果o不是学生类型返回false(带包名检查)  ...Student !=  ..Pig 
    if (o == null || this.getClass() != o.getClass()) return false;    
    // 3、说明o一定是学生类型而且不为null    
    Student student = (Student) o;    
    return sex == student.sex && age == student.age && Objects.equals(name, student.name);
}

3. StringBuilder中的常用API

方法名说明
public StringBuilder append(任意类型)添加数据并返回StringBuilder对象本身
public StringBuilder reverse()将对象的内容反转
public int length()返回对象内容长度
public String toString()通过toString()就可以实现把StringBuilder转换为String

StringBuilder的构造器

名称说明
public StringBuilder()创建一个空白的可变的字符串对象,不包含任何内容
public StringBuilder(String str)创建一个指定字符串内容的可变字符串对象

注意:

String :内容是不可变的、拼接字符串性能差。

StringBuilder:内容是可变的、拼接字符串性能好、代码优雅。

4. Math中常用API

方法名说明
public static int abs​(int a)获取参数绝对值
public static double ceil​(double a)向上取整
public static double floor​double a)向下取整
public static int round​(float a)四舍五入
public static int max​(int a,int b)获取两个int值中的较大值
public static double pow​(double a,double b)返回a的b次幂的值
public static double random()返回值为double的随机值,范围是0.0-1.0(包前不包后)

5. System中的常用API

方法名说明
public static void exit​(int status)终止当前运行的 Java 虚拟机,非零表示异常终止
public static long currentTimeMillis​()返回当前系统的时间毫秒值形式
public static void arraycopy(数据源数组, 起始索引, 目的地数组, 起始索引, 拷贝个数)数组拷贝

时间毫秒值:指的是从1970年1月1日 00:00:00走到此刻的总的毫秒数,应该是很大的。 1s = 1000ms。

6. BigDecima常用API

方法名说明
public BigDecimal add(BigDecimal b)加法
public BigDecimal subtract(BigDecimal b)减法
public BigDecimal multiply(BigDecimal b)乘法
public BigDecimal divide(BigDecimal b)除法
public BigDecimal divide (另一个BigDecimal对象,精确几位,舍入模式)除法

BigDecima的作用:解决浮点型运算精度失真问题。

BigDecimal对象的获取方法:

  1. BigDecimal recommend1 = new BigDecimal("0.1");
  2. BigDecimal recommend2 = BigDecimal.valueOf(0.1);(优先推荐) 方法2方法内部其实执行了Double 的 toString,而 Double 的 toString 按 double 的实际能表达的精度对尾数进行了截断。