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));
    }
}
相关推荐
荔枝吻15 分钟前
【沉浸式解决问题】System.getProperty(“user.dir“)获取不到项目根目录
java·bug
白总Server31 分钟前
CAP分布式理论
java·linux·运维·服务器·开发语言·分布式·数据库架构
豆沙沙包?32 分钟前
2025年- H42-Lc150 --146. LRU缓存(哈希表,双链表)需二刷--Java版
java·缓存·散列表
Uranus^32 分钟前
深入解析Spring Boot与Redis集成:高效缓存与性能优化
java·spring boot·redis·缓存·性能优化
码农爱java34 分钟前
Java 调用 GitLab API
java·开发语言·后端·gitlab·gitapi
小徐Chao努力39 分钟前
【项目】SpringBoot +MybatisPlus集成多数据源
java·spring boot·后端·mybatis
曼岛_43 分钟前
[Java实战]Spring Boot整合MinIO:分布式文件存储与管理实战(三十)
java·spring boot·分布式
苹果酱05671 小时前
经典Java面试题的答案——Java 基础
java·vue.js·spring boot·mysql·课程设计
全栈凯哥2 小时前
Java抽象类与接口详解
java
蒂法就是我2 小时前
spring boot启动报错:2002 - Can‘t connect to server on ‘192.168.10.212‘ (10061)
java·spring·10061