对于方法参数,我必须在两个复杂的接口之间进行选择:InterfaceParent
和InterfaceChild
.
接口InterfaceChild
扩展了接口InterfaceParent
,其中一个将成为methodX
's 签名的一部分,这取决于我觉得哪个接口更合适。
根据定义,InterfaceParent
并InterfaceChild
共享许多方法,因此仅通过查看源文件来比较它们是很困难的。这是我遇到的问题。
如何使用 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 的情况下,您将如何去做这种事情?