100个Java工具类之78:对象处理工具类Objects

createh51周前 (03-05)技术教程6

在Java中,对象是类的实例。对象则是类所定义的模板而创建出来的实体,它们封装了属性和方法。

Objects类可以用来简化对象的操作,完成常见的对象非空校验、对象比较、生成哈希码等任务从而提高代码的可读性。

一、判空

Bash
System.out.println(Objects.isNull(null));
输出:true

二、对象为空设默认值

Bash
System.out.println(Objects.toString(null, "1"));
输出:1

三、对象比较是否相等

Bash
String str1 = "123";
String str2 = null;
System.out.println(Objects.equals(str1, str2)); 
输出: false

四、对象比较

Bash
//根据comparator的比较方法compareTo来对两对象进行比较
//返回值1代表前者大于后者,0表示相等,-1表示小于
Comparator comparator = Integer::compareTo;
int s = Objects.compare(2, 1, comparator);
System.out.println(s);
输出:1

五、对象深度比较是否相等

Bash
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
int[] arr3 = {1, 2, 4};
System.out.println(Objects.deepEquals(arr1, arr2)); 
System.out.println(Objects.deepEquals(arr1, arr3));
输出: true false

六、为对象生成哈希码

Bash
String str = "1";
int hash1 = Objects.hashCode(str);
//生成组合哈希
int hash2 = Objects.hash(str, 2);
System.out.println(hash1);
System.out.println(hash2);
输出:
49
2482

相关文章

从一个例子中解析JAVA新建一个对象的过程

先上代码,代码如下://父类 class Father { /*8、执行初始*/ private int i = 9; protected int j; /...

Java 学习之面向对象思想、类、对象

一、首先我们先说说面向过程面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态)...

JAVA创建对象有哪几种方式?

作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。 Java中有5种创建对象的方式,下面给出它们的...

揭秘Java中的面向对象模型

前言:前面一系列文章讲了Java的一些语法基础知识、Java中的数据类型和Java中的运算符,基本上都是学习Java语言的基础知识,从这一讲开始将会逐步介绍Java面向对象编程的一些高级知识。所有提到...

Java对象创建过程

·new&类加载检测当遇到new指令时,JVM首先会进行类加载检测:①检测new指令的参数是否能在常量池中定位类的符号引用;②检测这个符号引用是否进行过加载解析和初始化,没有则先对该类进行类加载。·对...