常用类库java.util.Objects
发布日期:2021-06-27 12:55:48 浏览次数:34 分类:技术文章

本文共 1655 字,大约阅读时间需要 5 分钟。

文章目录

简介

JDK7新增Objects类,此类包含static实用程序方法,用于操作对象或在操作前检查某些条件。

objects类具备如下方法:

在这里插入图片描述

常用方法详解

equals

public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b)); }

Objects.equals方法做了非空判断,因此不会抛出异常,是空指针安全的。

两个参数相等,则返回true;否则,返回false。

deepEquals

public static boolean deepEquals(Object a, Object b) {
if (a == b) return true; else if (a == null || b == null) return false; else return Arrays.deepEquals0a, b); }

如果两个都是null值的字符串或者数组相比较,返回true。

如果两个参数都是数组,则使用Arrays.deepEquals来确定相等性。参数数组循环时,可以递归调用deepEquals来比较,知道出现不同的元素方结束循环,否则使用第一个参数的equals方法确定是否相等。

hashCode

public static int hashCode(Object o) {
return o != null ? o.hashCode() : 0; }

用以判断引用o所指的对象是否为null,如果不为null,则返回其hashCOde方法执行结果,否则返回0

hash

public static int hash(Object... values) {
return Arrays.hashCode(values); }

为输入值生成哈希码,它将所有的输入值都放到一个数组,然后调用Arrays.hashCode(Object[])方法来实现。

警告:当提供的参数是单个对象的引用时,返回值不等于该对象引用的散列码。该值可以通过调用hashCode(Object)来调用

toString

public static String toString(Object o) {
return String.valueOf(o); }

返回指定对象的字符串表示形式。如果参数为null,则返回字符串"null"

compare

public static 
int compare(T a, T b, Comparator
c) {
return (a == b) ? 0 : c.compare(a, b); }

如果参数相同则返回0,否则返回c.compare(a, b) 。如果两个参数都是null则返回0。

注意:若其中一个参数为null ,是否会抛出空指针异常NullPointerException取决于排序策略,如果有的话,则由Comparator来决定空值null

isNUll 和 nonNull

public static boolean isNull(Object obj) {
return obj == null; }

判空方法,如果参数为null则返回true,否则返回false

public static boolean nonNull(Object obj) {
return obj != null; }

判断非空方法,若参数非空返回true,否则返回false

转载地址:https://blog.csdn.net/weixin_43454088/article/details/116208410 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:常用类库java.util.Arrays
下一篇:面向对象测试问题

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月02日 11时06分54秒