众所周知,Objects也是我们在学习Java的时候,必然会碰到和使用的常用类。关于java类Objects,我做了一些梳理。
第一,Objects是什么?
Java 7新增了Objects工具类,它提供了一些工具方法来操作对象,这些工具方法大多是“空指针”安全的,如如你不能确定一个引用变量是否为null,如果贸然的调用该变量的toString()方法,则可能引发NullPointerExcetpion异常;但如果使用Objects类提供的toString(Object o)方法,就不会引发空指针异常,当o为null时,程序将返回一个"null"字符串。
该类是使用final修饰,不能被继承,该类的构造方法被私有化(使用private修饰),不能直接创建对象,该类中所有的方法都是静态方法,可以使用类型直接调用(该类不需要创建对象)
第二, 如何定义Objects类?
//public final class Objects extends Object//
tips:Objects继承自object
第三,常见的方法有哪些?
public class ObjectsDemo {
//定义一个object类型的变量,它的默认值是null
static Object obj;
static Object obj1="1";
public static void main(String[] args) {
//输出一个null对象的hashCode值,输出0
System.out.println(Objects.hashCode(obj));
//输出一个null对象的toString,输出null
System.out.println(Objects.toString(obj));
//直接调用该对象的toString()方法,如果该对象为空会出现NullPointerException异常
System.out.println(obj.toString());
//要求obj不能为null,如果obj为null则引发异常
System.out.println(Objects.requireNonNull(obj));
//检查指定的对象引用不是 null抛出一个定制的 NullPointerException如果。
System.out.println(Objects.requireNonNull(obj,"该对象为空"));
//返回 true如果参数不相等和 false否则。
System.out.println(Objects.deepEquals(obj, obj1));
//Objects类的equals方法可以避免空指针异常
System.out.println(Objects.equals(obj, obj1));
}
}
如果你有更多的建议,可以在下面留言。希望一起交流和分享。 |
|