Objects
Objects是一个工具类,提供了许多操作对象的静态方法
Objects常见方法
方法名 | 说明 |
---|---|
public static boolean equals(Object a, Object b) | 先做非空判断,再比较两个对象 |
public static boolean isNull(Object obj) | 判断对象是否为null,为null返回true,否则返回false |
public static boolean nonNull(Object obj) | 判断对象是否不为null,不为null则返回true,否则返回false |
案例演示
package com.ligemanyin._Objects;
import java.util.Objects;
/**
* ClassName:ObjectsTest
* Package:com.ligemanyin._Objects
* Description:Objects常用API演示
*
* @Author:离歌慢饮
* @CreateTime:2024/2/17 17:22
* @Version:1.0
*/
public class ObjectsTest {
public static void main(String[] args) {
String s1 = "床前明月光";
String s2 = null;
String s3 = "床前明月光";
System.out.println(s1.equals(s3)); //true
System.out.println(Objects.equals(s1, s3)); //true
System.out.println(Objects.equals(s2, s1)); //false
// System.out.println(s2.equals(s1)); //空指针异常 NullPointerException
System.out.println("------------------------------------");
System.out.println(Objects.isNull(s1)); //false
System.out.println(Objects.isNull(s2)); //true
System.out.println("--------------------------------");
System.out.println(Objects.nonNull(s1)); //true
System.out.println(Objects.nonNull(s2)); //false
}
}
源码分析
equals()
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
判断a和b地址是否相同,相同返回true,否则判断a是否为null且比较a和b的值是否相同并将结果返回
isNull()
public static boolean isNull(Object obj) {
return obj == null;
}
返回obj == null的结果,等同于用"=="直接对对象做判断
nonNull()
public static boolean nonNull(Object obj) {
return obj != null;
}
返回obj != null的结果,等同于用"!="直接对对象做判断