gpt4 book ai didi

java - 快速可靠地查明源代码文件是否实现接口(interface)的方法

转载 作者:行者123 更新时间:2023-12-01 21:59:50 26 4
gpt4 key购买 nike

给定一个java源代码文件,有什么快速可靠的方法来查明它是否实现给定的接口(interface)?

一种可靠的方法是将文件解析为语法树(使用例如 Eclipse 的 ASTNode 类)并查找正确的节点。

一种快速的方法是查找带有“implements”的行,剔除注释中的行,并将接口(interface)与适当的导入语句相关联。我可能在这里遗漏了一些奇怪的其他案例。

你会做什么?

最佳答案

What would you do?

我将编译类和接口(interface)的源代码,使用Class.forName()加载两者,并使用Class.isAssignableFrom来测试该类是否是接口(interface)的子类型。

相对较快,完全可靠...假设源代码是​​可编译的。

请注意,这一切都可以在运行时完成,如果您使用正确实现的自定义类加载器的一次性实例来进行加载,则可以避免可疑类污染您的 JVM。

关于java - 快速可靠地查明源代码文件是否实现接口(interface)的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33757244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com