似乎在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();
语言设计师在这里告诉我们什么?我们应该开始更喜欢对象的解决方案而不是现有的解决方案吗?这样的事情的长期理由是什么?
答案 0 :(得分:10)
请参阅the documentation for said class:
此类由用于操作对象的
static
实用程序方法组成。这些实用程序包括null
- 安全或null
容错方法,用于计算对象的哈希代码,返回对象的字符串以及比较两个对象。
因此,主要是为了让您免于额外的null
警卫。