今天遇到个错误,我的一个函数的参数是Object类型,fun(Object o){….}但是传入一个PrintStream的时候却报错。
提示如下:
莫名其妙!不知道为什么报错,经过仔细检查才看出来是Object写成了Objects。
fun(Objects o){….}
所以才不会被认出来。既然找出来错误那么就去百度一下吧。
百度上有很多种解释,我这里都没有写出来,想看详细的解释请转度娘。
这里写一写我自己的见解:
首先,我的错误就说明了Objects和Object不一样。我们都知道Object类是所有类的父类。但是大家一定要记住!Objects这个类不是所有的类的父类!这是一个Object类的子类,它是Object类的扩展,也是为了我们写的类扩展一些功能的。
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.
这是该类在api文档中的解释。翻译如下(Google翻译结果)
该类由用于对对象进行操作的静态实用程序组成。 这些实用程序包括用于计算对象的哈希码,返回对象的字符串和比较两个对象的空安全或空容忍方法。
本文讲述了在Java中Objects与Object的不同之处。Objects并非所有类的父类,而是Object的一个子类,提供了一些静态实用方法,如null安全的哈希码计算、对象字符串表示及对象比较等。
181

被折叠的 条评论
为什么被折叠?



