Guava:Objects 对象工具

Objects 类提供适用于所有对象,如 equalshashCode 等辅助函数。

类方法说明

官方文档:Objects (Guava: Google Core Libraries for Java 27.0.1-jre API)

方法类型 方法描述
static boolean equal(@Nullable Object a, @Nullable Object b) 确定两个可能为null的对象是否相等。
static int hashCode(Object... objects) 为多个值生成哈希码。

测试Demo

java 复制代码
public class ObjectsTest extends TestCase {

    /**
     * 确定两个可能是空的对象是否相等。
     */
    public void testEqual() {
        assertTrue(Objects.equal("a", "a"));
        assertTrue(Objects.equal(null, null));

        assertFalse(Objects.equal(null, "a"));
        assertFalse(Objects.equal("a", null));

        String s1 = "foobar";
        String s2 = new String(s1);
        assertTrue(Objects.equal(s1, s2));
    }

    public void testHashCode() {
        int h1 = Objects.hashCode(1, "two", 3.0);
        int h2 = Objects.hashCode(new Integer(1), new String("two"), new Double(3.0));

        assertEquals(h1, h2);
        System.out.println(h1 == h2);   // true

        assertTrue(Objects.hashCode(1, 2, null) != Objects.hashCode(1, 2));
        assertTrue(Objects.hashCode(1, 2, null) != Objects.hashCode(1, null, 2));
        assertTrue(Objects.hashCode(1, null, 2) != Objects.hashCode(1, 2));
        assertTrue(Objects.hashCode(1, 2, 3) != Objects.hashCode(3, 2, 1));
        assertTrue(Objects.hashCode(1, 2, 3) != Objects.hashCode(2, 3, 1));
    }
}
相关推荐
天天摸鱼的java工程师13 分钟前
八年 Java 开发手敲:SpringBoot+SpringSecurity+JWT 实战,前后分离权限注解落地就能跑
java·后端
冰淇淋@15 分钟前
idea启动项目报错java: OutOfMemoryError: insufficient memory
java·ide·intellij-idea
techzhi17 分钟前
this view is read-only (IntelliJ IDEA)
java·ide·intellij-idea
编程学委18 分钟前
Idea(2023版)使用Svn
java·svn·intellij-idea
qianbailiulimeng19 分钟前
IDEA + Spring Boot 的三种热加载方案
java·后端
王元_SmallA19 分钟前
网卡驱动架构以及源码分析
java·后端
零基础的修炼28 分钟前
Linux---序列化与反序列化
java·开发语言
敲代码的嘎仔35 分钟前
JavaWeb零基础学习Day6——JDBC
java·开发语言·sql·学习·spring·单元测试·maven
闭着眼睛学算法36 分钟前
【双机位A卷】华为OD笔试之【排序】双机位A-银行插队【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·c语言·javascript·c++·python·算法·华为od
熙客1 小时前
RabbitMQ:灵活路由和高可靠的消息队列
java·中间件·rabbitmq·java-rabbitmq