4

似乎在 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 的解决方案而不是现有的解决方案?这样的事情的长期理由是什么?

4

1 回答 1

10

请参阅该类的文档

此类包含static用于操作对象的实用方法。这些实用程序包括用于计算对象的哈希码、返回对象的字符串以及比较两个对象的null安全或容错方法。null

所以主要是为了让你免于额外的null守卫。

于 2012-07-21T23:47:35.947 回答