java - Java 7 中对象静态方法的原因

标签 java java-7

似乎在 Java 7 中,Objects 类提供了该语言其他部分已经涵盖的许多功能。

toString()为例。以下将产生相同的结果:

Objects.toString(12);
String.valueOf(12);

实际上,Objects.toString定义为:

public static String toString(Object o) {
    return String.valueOf(o);
}

假设我们正在处理实际的类。一个比另一个更受欢迎吗?

Objects.toString(o);
o.toString(); 

语言设计者在这里告诉我们什么?我们应该开始更喜欢 Objects 的解决方案而不是现有的解决方案吗?像这样的事情的长期理由是什么?

最佳答案

参见 the documentation for said class :

This class consists of static utility methods for operating on objects. These utilities include null-safe or null-tolerant methods for computing the hash code of an object, returning a string for an object, and comparing two objects.

所以这主要是为了让您免受额外的 null 保护。

关于java - Java 7 中对象静态方法的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596680/

相关文章:

java - 想要以编程方式删除 weblogic 上的临时文件

java - Spock 中 TestNG 数据提供者的模拟

java - 泛型类型的实例化?

java - 如何实现我的代码发送密码重置链接?

java - 不同地点环境下日期差异天数不同

windows-7 - JDK 7 Windows 7 自动安装

java - 我怎样才能让 jcifs 与 apache axis 很好地配合

java - 与 1.6 相比,使用 Java 1.7 时 Coldfusion 10 慢

java - 地穴无法解析

java - 无法写入文件