回 帖 发 新 帖 刷新版面

主题:scjp试题解析三十二

qq:2535279

Which of the following statements are true?
  A. The equals() method determines if reference values refer to the same object.
  B. The == operator determines if the contents and type of two separate objects match.
  C. The equals() method returns true only when the contents of two objects match.
  D. The class File overrides equals() to return true if the contents and type of two separate objects match.
  翻译
  下面的哪些叙述为真。
  A. equals()方法判定引用值是否指向同一对象。
  B. == 操作符判定两个分立的对象的内容和类型是否一致。
  C. equals()方法只有在两个对象的内容一致时返回true。
  D. 类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。
  答案 A,D     www.javaedu.com.cn
  解析 严格来说这个问题的答案是不确定的,因为equals()方法是可以被重载的,但是按照java语言的本意来说:如果没有重写(override)新类的equals(),则该方法和 == 操作符一样在两个变量指向同一对象时返回真,但是java推荐的是使用equals()方法来判断两个对象的内容是否一样,就像String类的equals()方法所做的那样:判定两个String对象的内容是否相同,而==操作符返回true的唯一条件是两个变量指向同一对象。从这个意义上来说选择给定的答案。从更严格的意义来说正确答案应该只有d

回复列表 (共1个回复)

沙发


那确实,感觉题目有点弯哦

我来回复

您尚未登录,请登录后再回复。点此登录或注册