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

时间:2012-07-21 23:43:32

标签: 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(); 

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

1 个答案:

答案 0 :(得分:10)

请参阅the documentation for said class

  

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

因此,主要是为了让您免于额外的null警卫。