6

假设我有一个Objects 数组(特别是 an Object[])和一个 Constructor 对象数组。

任何人都可以向我推荐一些 Java 代码,这些代码可以查看 Constructor 对象并选择一个对于我的数组中对象的实际类型最具体的代码。换句话说,我想要一个javac用于在一组重载方法中进行选择的算法的实现。

4

1 回答 1

2

您可以查看基于 Java 的 Java 编译器(我听说 OpenJDK 有一个)。

我想您会发现名称解析比您想象的要复杂得多,尤其是当您包含泛型和类型擦除时。我怀疑您是否能够“轻松”地提取此代码并自行使用。

大多数在语义上做任何事情的 Java 工具都使用类文件,所有类型擦除和解析都发生在类文件中,因此他们可以避免知道如何执行此操作。(只查看类文件的缺点是那些工具根本无法修改源代码)。

于 2011-12-15T21:47:59.020 回答