0

对于方法参数,我必须在两个复杂的接口之间进行选择:InterfaceParentInterfaceChild.

接口InterfaceChild扩展了接口InterfaceParent,其中一个将成为methodX's 签名的一部分,这取决于我觉得哪个接口更合适。

根据定义,InterfaceParentInterfaceChild共享许多方法,因此仅通过查看源文件来比较它们是很困难的。这是我遇到的问题。

如何使用 Eclipse 快速比较和查看两个界面之间的差异?


如果以上描述足够,请阅读更多说明性场景或立即停止阅读:

将接口java.util.Collection<E>视为InterfaceParent,将接口java.util.List<E>视为InterfaceChild。想象一下,我必须在它们之间做出选择。

这种情况与我的情况相似,因为List<E>扩展Collection<E>,因此接口共享许多方法。

尝试查看这两个接口的源文件:两个文件都有所有方法的“存根”,因此通过将两个代码编辑器并排放置,很难一目了然地比较它们。

Collection<E>并且List<E>相比之下是小型接口,所以我的问题甚至比这更大,但为了简单起见,让我们继续使用我们的示例Collection<E>List<E>

我希望我可以使用我的 IDE (Eclipse) 来向我展示这些接口的差异,或者使用命令行工具来输出两者的方法签名。

使用命令行工具,我可以将输出转储到文本文件,对文件进行排序并运行 diff 工具来查看差异,隐藏常用方法。

在示例中,我可以快速找出哪些方法定义在List<E>哪些方法上没有定义,并根据这种差异Collection<E>选择一个接口或另一个接口。methodX

我不知道有任何工具对 Java 对象执行这种“反射”,以便可以将完全限定的类名传递给它们并获得公共接口定义输出流。如果有的话请告诉我。

显然,使用命令行工具执行此操作会在一段时间后变得乏味,所以我想知道:Eclipse 中是否有类似的东西?大纲功能非常适合对一个类型进行一目了然的概述,但我可以比较两个大纲吗?“代码折叠”功能非常适合将源文件简化为“方法名称”,但是没有什么可以隐藏两个接口之间的常用方法并显示差异?

在不离开 Eclipse 的情况下,您将如何去做这种事情?

4

1 回答 1

-1

选择两个接口并右键单击它们选择比较-->彼此

比较彼此

图片来源

于 2012-10-06T07:16:55.607 回答