对于方法参数,我必须在两个复杂的接口之间进行选择:InterfaceParent和InterfaceChild。
接口InterfaceChild扩展了接口InterfaceParent,其中一个接口将成为methodX签名的一部分,这取决于我认为哪个接口更合适。
根据定义,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的情况下进行这类工作?
发布于 2012-10-06 07:16:55
选择两个接口,然后右键单击它们,选择“比较”->“彼此”

图像源
https://stackoverflow.com/questions/12757431
复制相似问题