如何在Eclipse的工作区中找到equals()的类型特定引用?

时间:2010-10-28 10:50:59

标签: java eclipse search reference

我有一个覆盖equals()的类,我想看看这个 equals方法在工作区中的使用位置。使用Eclipse,我通常会使用Ctrl-Shift-g查找工作区中的所有引用。不幸的是,对于equals(),它会从任何类型中拉回我的工作空间中的每个等号引用,而不仅仅是我覆盖它的那个,并且不可能找出许多结果中的哪一个与我的搜索相关。我想做什么?

编辑:澄清。我有一个覆盖equals方法的A类。我有一个B类(和其他)使用 A类但不扩展它。我想找到我的工作区中哪些类使用Class A的equals方法,无论它们是否属于Class A的层次结构,如B类。

4 个答案:

答案 0 :(得分:15)

让你的equals实现暂时抛出类Throwable:equals(Object obj) throws Throwable

当然这会给你的equals实现一个编译错误,因为它与Objects.equals()不兼容,但是你也会在使用你的equals方法的所有类中得到一个编译错误(至少所有的类)哪些不处理/抛出Throwable自己):

未处理的异常类型Throwable

答案 1 :(得分:3)

一般情况下,你不能这样做,因为equals在Object上,例如

mysession.getAttribute( “someobject”)。等于(富)

无法检测到此对象是您的类类型。

答案 2 :(得分:2)

创建主界面的副本,具有不同名称的类。从这些新接口/类实现/扩展。然后使用Ctrl + Shift + G搜索方法的引用。

面对同样的情况时,为我工作。

答案 3 :(得分:-1)

右键单击您的equals方法并选择选项

References--> Hierarchy