Objects工具类介绍

本文介绍了Java中Objects工具类的主要特点和用途,包括其不可继承、静态方法的特性,以及equals、deepEquals、hashCode和hash方法的使用。通过示例展示了如何进行对象比较、数组比较和计算哈希值,帮助理解Objects类在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 Objects

1.1背景

  • JDK7引入的一个工具类,JDK8也增加了的部分方法;

1.2 特点

  • 被final修饰不能被继承;
  • 方法全被static修饰;
  • 不能被实例化;

1.3 方法

方法描述
equals用于字符串和包装对象的比较,先比较 内存地址,再比较值
deepEquals用于数组的比较,先比较 内存地址,再比较值
hashCode根据一定的hash规则计算返回的hash值,传入null返回0
hash计算出所有的可变参数hashcode,底层调用的arrays.hashcode

1.4 示例

package Objects;

import java.util.Objects;

public class ObjectTests {
    public static void main(String[] args) {

        boolean equals = Objects.equals("小王", "校长");
        boolean equals1 = Objects.equals("小王", "小王");
        System.out.println(equals);
        System.out.println(equals1);
        System.out.println("------------我是分隔线---------------");

        String[] a={"小孙","小哥","小曾"};
        String[] b={"小孙","小哥","小曾"};
        //使用equals比较数组
        boolean equals2 = Objects.equals(a,b);
        //使用deepEquals比较数组
        boolean equals3 = Objects.deepEquals(a,b);
        System.out.println(equals2);
        System.out.println(equals3);
        System.out.println("------------我是分隔线---------------");
        //计算hashcode
        int daige1 = Objects.hashCode("二哈");
        int daige2 = Objects.hashCode("三哈");
        int daige3 = Objects.hashCode("null");

        System.out.println(daige1);
        System.out.println(daige2);
        System.out.println(daige3);
        System.out.println("------------我是分隔线---------------");
        //计算可变参数的hash
        int hash = Objects.hash(1, 23, 6, 3, 2, 3, 2, 5, 3, 25, 2, 52);
        System.out.println(hash)}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值