content: Java,Java SE,Java基础,Java教程,Java程序员进阶之路,Java入门,教程,java,Objects
title: Objects:专为操作 Java 对象而生的工具类 shortTitle: Objects对象工具类 category: - Java核心 tag: - 常用工具类 description: Java程序员进阶之路,小白的零基础Java教程,从入门到进阶,Objects:专为操作 Java 对象而生的工具类 head: - - meta - name: keywords
content: Java,Java SE,Java基础,Java教程,Java程序员进阶之路,Java入门,教程,java,Objects
在jdk7
之后,提供了Objects
工具类,我们可以通过它操作对象。
对象判空
在java中万事万物皆对象,对象的判空可以说无处不在。Objects的isNull
方法判断对象是否为空,而nonNull
方法判断对象是否不为空。例如:
Integer integer = new Integer(1);
if (Objects.isNull(integer)) {
System.out.println("对象为空");
}
if (Objects.nonNull(integer)) {
System.out.println("对象不为空");
}
对象为空抛异常
如果我们想在对象为空时,抛出空指针异常,可以使用Objects的requireNonNull
方法。例如:
Integer integer1 = new Integer(128);
Objects.requireNonNull(integer1);
Objects.requireNonNull(integer1, "参数不能为空");
Objects.requireNonNull(integer1, () -> "参数不能为空");
判断两个对象是否相等
我们经常需要判断两个对象是否相等,Objects给我们提供了equals
方法,能非常方便的实现:
Integer integer1 = new Integer(1);
Integer integer2 = new Integer(1);
System.out.println(Objects.equals(integer1, integer2));
执行结果:
true
但使用这个方法有坑,比如例子改成:
Integer integer1 = new Integer(1);
Long integer2 = new Long(1);
System.out.println(Objects.equals(integer1, integer2));
执行结果:
false
具体原因不细说了,有兴趣的小伙们可以看看我的另一篇文章《Objects.equals有坑》,里面有非常详细的讲解。
获取对象的hashCode
如果你想获取某个对象的hashCode,可以使用Objects的hashCode
方法。例如:
String str = new String("abc");
System.out.println(Objects.hashCode(str));
执行结果:
96354
Objects的内容先介绍到这里,有兴趣的小伙们,可以看看下面更多的方法:
你可能感兴趣的文章
content: Java,Java SE,Java基础,Java教程,Java程序员进阶之路,Java入门,教程,java,Arrays,数组
content: Java,Java SE,Java基础,Java教程,Java程序员进阶之路,Java入门,教程,java,Collections,集合框架
content: Java,Java SE,Java基础,Java教程,Java程序员进阶之路,Java入门,教程,java,Guava
content: Java,Java SE,Java基础,Java教程,Java程序员进阶之路,Java入门,教程,java,Hutool
content: Java,Java SE,Java基础,Java教程,Java程序员进阶之路,Java入门,教程,java,工具类,轮子
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦