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));
    }
}
相关推荐
曹牧23 分钟前
Java:List<Map<String, String>>转换为字符串
java·开发语言·windows
Unstoppable221 小时前
代码随想录算法训练营第 56 天 | 拓扑排序精讲、Dijkstra(朴素版)精讲
java·数据结构·算法·
qinyia1 小时前
WisdomSSH解决docker run命令中log-opt参数不支持导致的容器创建失败问题
java·docker·eureka
电饭叔2 小时前
不含Luhn算法《python语言程序设计》2018版--第8章14题利用字符串输入作为一个信用卡号之二(识别卡号有效)
java·python·算法
小付爱coding2 小时前
Claude Code安装教程【windows版本】
java·git·python
**蓝桉**2 小时前
数组的执行原理,java程序的执行原理
java·开发语言
YDS8292 小时前
MyBatis-Plus精讲 —— 从快速入门到项目实战
java·后端·spring·mybatis·mybatis-plus
BBB努力学习程序设计2 小时前
Java条件判断:程序的"决策大脑"
java
我是华为OD~HR~栗栗呀2 小时前
华为OD-C面经-23届学院哦
java·c++·python·华为od·华为·面试
小马爱打代码3 小时前
Spring AI:文生图:调用通义万相 AI 大模型
java·人工智能·spring