假设我有一个Object
s(特别是Object[]
)数组和一个Constructor对象数组。
任何人都可以向我推荐一些可以查看Constructor对象的Java代码,并根据我的数组中对象的实际类型选择最具体的代码。换句话说,我想要javac
用于在一组重载方法中进行选择的算法的实现。
答案 0 :(得分:2)
您可以查看基于Java的Java编译器(我听说OpenJDK有一个)。
我认为您会发现名称解析比您想象的要复杂得多,尤其是当您包含泛型和类型擦除时。我怀疑你是否能够“轻松”解除这些代码并自行使用它。
大多数在语义上做任何事情的Java工具都使用类文件,其中所有类型的擦除和解析都发生了,因此他们可以避免知道如何执行此操作。 (仅查看类文件的缺点是那些工具根本无法修改源代码。)