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 码农43 分钟前
Centos7 maven 安装
java·python·centos·maven
harmful_sheep1 小时前
maven mvn 安装自定义 jar 包
java·maven·jar
openHiTLS密码开源社区1 小时前
【密码学实战】openHiTLS passwd命令行:专业密码哈希生成工具
linux·密码学·哈希算法·ldap·密码策略·随机盐值
007php0071 小时前
某大厂跳动面试:计算机网络相关问题解析与总结
java·开发语言·学习·计算机网络·mysql·面试·职场和发展
JH30732 小时前
第七篇:Buffer Pool 与 InnoDB 其他组件的协作
java·数据库·mysql·oracle
皮皮林5513 小时前
订单分库分表后,商家如何高效的查询?
java
Roye_ack3 小时前
【项目实战 Day12】springboot + vue 苍穹外卖系统(Apache POI + 工作台模块 + Excel表格导出 完结)
java·spring boot·后端·excel·苍穹外卖
Code blocks4 小时前
SpringBoot自定义请求前缀
java·spring boot·后端
Jabes.yang5 小时前
Java求职面试:从Spring Boot到Kafka的技术探讨
java·spring boot·面试·kafka·互联网大厂
canonical_entropy6 小时前
DDD本质论:从哲学到数学,再到工程实践的完整指南之实践篇
java·后端·领域驱动设计