6

Objects (具体的には)Object[]の配列と Constructor オブジェクトの配列があるとします。

Constructor オブジェクトを調べて、配列内のオブジェクトの実際の型に関して最も具体的なものを選択できる Java コードを紹介してもらえますか。javacつまり、オーバーロードされたメソッドのセットから選択するために使用するアルゴリズムの実装が必要です。

4

1 に答える 1

2

Java ベースの Java コンパイラを調べることができます (OpenJDK があると聞きました)。

特にジェネリックと型消去を含める場合、名前解決は想像以上に難しいことに気付くと思います。このコードを「簡単に」取り出して自分で使用できるとは思えません。

意味的に深い処理を行う Java ツールのほとんどは、型の消去と解決がすべて行われたクラス ファイルを使用するため、その方法を知る必要がありません。(クラス ファイルのみを参照することの欠点は、それらのツールがソース コードをまったく変更できないことです)。

于 2011-12-15T21:47:59.020 に答える