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={"小孙","小哥","小曾"};
boolean equals2 = Objects.equals(a,b);
boolean equals3 = Objects.deepEquals(a,b);
System.out.println(equals2);
System.out.println(equals3);
System.out.println("------------我是分隔线---------------");
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("------------我是分隔线---------------");
int hash = Objects.hash(1, 23, 6, 3, 2, 3, 2, 5, 3, 25, 2, 52);
System.out.println(hash);
}
}
