0

次のコードを使用して、クラスのメソッドを出力しています。

for (Method meth : c.getDeclaredMethods())
{
  System.out.println("  " + shorten(meth.toGenericString()));
}

選択したクラスで実行すると、クラスの現在のメソッドと、以前は持っていたが削除されたいくつかのメソッドが出力されます。IDE (netbeans 7.2) のナビゲーターに古いメソッドが表示されません。ブリッジまたは合成としてフラグが立てられたメソッドはありません。

Javaコンパイラは何らかの形で履歴を保持していますか?

4

1 に答える 1

2

コンパイラはそうではありませんし、IDE (netbeans) もすべきではありません。ほとんどの場合、まだ存在する.class古いファイルからファイルを作成しています。.javaクリーン ビルド (.class再度ビルドする前にすべてのファイルを削除) を実行してみて、問題が解決しないかどうかを確認してください。

于 2012-10-09T02:44:27.057 に答える