10

Eclipseで、「GenerateDelegateMethods」リファクタリングを次のようなJavaクラスに適用しようとすると次のようになります。

class Foo implements Bar {
   Bar bar;
}

@OverrideEclipseは、生成されたメソッドのアノテーションを生成しません。これはバグですか、それともこれには正当な理由がありますか?

4

3 に答える 3

31

これは、デリゲートメソッドを生成するときにアノテーションが追加されない理由についての質問には答えません@Overrideが、ファイルの保存時にそれを行うための保存アクションを追加できます。に移動

Window -> Preferences -> Java -> Editor -> Save Actions

Eclipseの保存アクション

セクションののエントリに注意して@OverrideくださいAdditional actions。それらが不足している場合は、Configure...ボタンをクリックしてMissing Codeタブを選択し、次のオプションを選択してください。

ここに画像の説明を入力してください

プロジェクト全体またはパッケージ全体に注釈を一括で追加する場合は、プロジェクトまたはパッケージ(または複数)を選択して右クリックし、[ソース]>[クリーンアップ...]を選択します。

[クリーンアップ]ダイアログで、欠落している注釈の追加を含むカスタムプロファイルを構成できます。

于 2011-05-23T03:04:22.533 に答える
4

正当な理由はありませんが、それ自体は「バグ」ではありません。ただの欠点。おそらく、リファクタリングは@Override(もちろん、一般的な注釈よりも)古いものであり、更新されたことはありません。

于 2011-05-23T02:55:17.277 に答える
1

[ウィンドウ]->[設定]->[Java]->[エディター]->[アクションの保存]の設定により、Androidアプリケーションの開発中に特にXMLファイルに望ましくない影響が生じることがあります(そこで経験したことがあります)。IMHOのより良い解決策は、+ 1を使用するか、パッケージ(またはクラスなど)を右クリックしてから、[ソース]-> [クリーンアップ]を選択して、欠落している@Overrideアノテーションをすべて追加することです。

于 2014-12-07T12:22:52.470 に答える