Java在java.util包中有一个实用程序类Objects用于处理对象。
它由所有静态方法组成。 Objects类中的大多数方法都会优雅地处理空值。
以下是类中的方法列表。他们的描述遵循列表。
下面的代码演示了如何使用来自Objects类的方法来计算哈希码。
import java.util.Objects; public class Main { public static void main(String[] args) { // Compute hash code for two integers, a char, and a string int hash = Objects.hash(10, 800, "u20b9", "Hello"); System.out.println("Hash Code is " + hash); } }
上面的代码生成以下结果。
以下代码显示了如何使用Objects类中的equals方法来比较两个对象。
import java.util.Objects; public class Main { public static void main(String[] args) { // Test for equality boolean isEqual = Objects.equals(null, null); System.out.println("null is equal to null: " + isEqual); isEqual = Objects.equals(null, "XYZ"); System.out.println("null is equal to XYZ: " + isEqual); } }
上面的代码生成以下结果。
以下代码显示如何使用toString方法从对象将对象转换为字符串。
import java.util.Objects; public class Main { public static void main(String[] args) { // toString() method test System.out.println("toString(null) is " + Objects.toString(null)); System.out.println("toString(null, "XXX") is " + Objects.toString(null, "XXX")); } }
上面的代码生成以下结果。
以下代码显示如何使用Objects类中的requireNonNull。
import java.time.Instant; import java.util.Objects; import java.util.function.Supplier; public class Main { public static void main(String[] args) { try { printName("A"); printName(null); } catch (NullPointerException e) { System.out.println(e.getMessage()); } try { Supplier<String> messageSupplier = () -> "Name is required. Error generated on " + Instant.now(); printNameWithSuplier("asdf", messageSupplier); printNameWithSuplier(null, messageSupplier); } catch (NullPointerException e) { System.out.println(e.getMessage()); } } public static void printName(String name) { Objects.requireNonNull(name, "Name is required."); System.out.println("Name is " + name); } public static void printNameWithSuplier(String name, Supplier<String> messageSupplier) { Objects.requireNonNull(name, messageSupplier); } }
上面的代码生成以下结果。
Java面向对象设计 -Java泛型类使用泛型,我们可以在不知道代码操作对象的类型的情况下编写代码。它允许我们创建泛型类,构造函数...
Java面向对象设计 -Java对注释类型的限制注释类型的限制注释类型不能从另一个注释类型继承。每个注释类型都隐式地继承java.lang....
Java面向对象设计 -Java枚举类枚举类型的超类编译枚举类型时,编译器会创建一个类。枚举类型可以具有构造函数,字段和方法。枚举...
Java数据类型教程 - Java数据类型以下两行Java代码定义了两个整数:num1和num2:int num1;int num2;num1和num2是两个int变量。int...