当前位置: 首页 > 面试题库 >

java为什么等于方法输入参数为Object

皮嘉德
2023-03-14
问题内容

我正在读一本关于数据结构的书。目前,我正在使用图形,下​​面的代码用于图形的顶点部分。

class Vertex<E>{
    //bunch of methods

    public boolean equals(Object o){
         //some code
    }
}

当我尝试实现此equals方法时,我的编译器抱怨没有检查参数的类型,而只是允许向其发送任何对象。对于我来说,为什么该参数不应该是“顶点”而不是“对象”,这似乎也让我有些奇怪。作者这样做是有原因的吗,还是这个错误或过时的例子?


问题答案:
@Override
public boolean equals(Object obj)
{
     if(obj == null) return false;
     else if (!(obj instanceof Vertex)) return false;
     else return // blah blah
}


 类似资料:
  • 问题内容: 我喜欢在这里使用这种方法: 唯一的缺点(例如,与Google Guava相比)是无法静态导入该方法。也就是说,这是没有用的: …因为我的Eclipse编译器在编写时无法正确链接该方法 错误是: Object类型中的equals(Object)方法不适用于参数(…,…) 这是为什么?如果在任何超级类型中都存在具有相同名称(但签名不相同)的方法,我的静态导入方法是否不适用?这是JLS中正式

  • 我可以让这段代码在没有对象作为抽象方法输入参数的情况下工作。例如,如果我亲自将方法的输入参数设置为,emp就会起作用。 当我将输入参数作为方法的对象时,它抛出了一个错误 emp不是抽象的,并且不会覆盖person类emp extends person{^

  • 我试图将两个数组和一个整数从另一个方法引入到写入文件的方法中。我试着用论据来解释,但没有用。希望你能帮忙 这是我如何传递参数从方法持有arry信息。 此方法旨在使用传递的数组参数创建文件。 这是读取文件的方法 请你能告诉我哪里出了问题,我如何创建一个文件,保存数组并稍后读取文件。 *************编辑代码******************** { }公共静态无效读取()抛出IOExce

  • 问题内容: 我在ColdFusion代码中碰巧遇到了这些值,但Google计算器似乎有相同的“错误”,但差不为零。 416582.2850-411476.8100-5105.475 = -2.36468622461E-011 http://www.google.com/search?hl=zh_CN&rlz=1C1GGLS_enUS340US340&q=416582.2850+-+411476.8

  • 问题内容: 我想知道为什么当描述为char时indexOf方法的参数为int。 public int indexOf(int ch) http://download.oracle.com/javase/1,5.0/docs/api/java/lang/String.html#indexOf%28int%29 a]基本上,我感到困惑的是java中的int是32位,而unicode字符是16位。 b]

  • 问题内容: 我有这段代码,可以从请求输入流中读取输入,并使用JacksonMapper转换为POJO。它在带有guice支持的码头7集装箱中运行。 但是,有时在负载下会引发以下异常。我已经检查了我的客户端,并且确定它发送了一个有效的json字符串。怎么了?负载下Jetty 7的预期行为吗? 问题答案: 如果它已经被预先消耗,它将为空。这将隐式进行,每当你打电话,,,,等上。确保不要调用任何一种方法