11

JDK7 では、リフレクション API が変更され、getDeclaredMethods() によって返されるメソッドが、ソース ファイルで宣言されている順序で返されなくなりました。

今私の質問は、 javac によって生成された .class ファイルには、ソースファイルで定義されたのと同じ順序でメソッドが含まれていますか、それともランダムな順序でメソッドを書き込むことができますか?

4

2 に答える 2

3

Class.getDeclaredMethods API は、この「...返された配列の要素はソートされておらず、特定の順序でもありません...」について明確です。その理由として最も可能性が高いのは、javac が特定の順序で .class 内のメソッドを生成する義務がないためです。

于 2012-12-24T09:28:01.740 に答える