黑马程序员技术交流社区
标题:
【广州校区】【原创】Objects类介绍
[打印本页]
作者:
新君
时间:
2018-8-30 08:19
标题:
【广州校区】【原创】Objects类介绍
简介:
在JDK7中添加了一个Objects工具类,它提供了一些静态方法来操作对象,用于计算对象的hashCode,返回对象的字符串表示形式,比较二个对象。
常用方法有:
1,public static boolean equals(Object a, Object b):判断二个对象是否相等。
2,public static <T> T requireNonNull(T obj):检查指定对象obj不为null,如果为null抛出空指针异常,如果不为null返回obj对象本身。
3,public static boolean nonNull(Object obj):判断指定对象obj是否为null,不为null返回true,否则返回false。
4,public static boolean isNull(Object obj):判断指定对象obj是否为null,为null返回true,否则返回false。
示例代码:
public class
Student {
private
String
name
;
public
Student() {
}
public
Student(String name) {
this
.
name
= name;
}
public
String getName() {
return
name
;
}
public void
setName(String name) {
this
.
name
= name;
}
@Override
public boolean
equals(Object o) {
if
(
this
== o)
return true
;
if
(o ==
null
|| getClass() != o.getClass())
return false
;
Student student = (Student) o;
return
Objects.
equals
(
name
, student.
name
);
}
@Override
public int
hashCode() {
return
Objects.
hash
(
name
);
}
}
public class
Test {
public static void
main(String[] args) {
Student s1 =
new
Student(
"
张三
"
);
Student s2 =
new
Student(
"
李四
"
);
System.
out
.println(Objects.
equals
(s1, s2));
//false
System.
out
.println(Objects.
requireNonNull
(s1));
//com.itheima.clazz.test04.Student@bd308
System.
out
.println(Objects.
nonNull
(s1));
//true
System.
out
.println(Objects.
isNull
(s1));
//false
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2