NetBeansとEclipseここが同じ その4

今回はプロパティのアクセサメソッドの生成。IDE使ってる人でセッターゲッターを打ち込んでる人はいないと思う。

スナップショットがめちゃ多いので注意(ファイルサイズはどれもものすごく小さいけど)。

Eclipse

まず前回のクイックフィックスのところにあるようだ。

英語のままが見える。翻訳しわすれがあるようだ。NetBeansのクイックフィックスはあくまでもエラー等の提案なのでここに機能は無い(というか生成用にショートカットがある)。


ほかにはCTRL+SPACEでもある。一番下にあるようだ。ただし、ゲッターとセッターの同時生成は出来ない。

1つくらいならこの生成方法でもいいと思う。カーソルのある場所に生成されるという分かりやすい動作が非常に良い。


ほかには右クリックメニューから「ソース」−「getterおよびsetterの生成」を選ぶ。もちろん上のメニューから同様のものを選んでも良い。

そうするとダイアログが表示されるので対象となるフィールドを選択して実行ボタンを押す。

生成されたコードは以下のようになる。

NetBeans

クイックフィックスは無いのでまずCTRL+SPACE。

セッターゲッターそれぞれの生成はあるが、えらい選択肢が多い。ひそかにフィールドがあるとそれを利用したコンストラクタも作ることが出来る。実はこれがものすごく便利。ラップするようなクラスとかJPA用に大活躍する。デフォルトコンストラクタ後セッターゲッターで値をセットするのがだるいってのはよくある話。セッターゲッター生成目的でこのショートカットはまず使わない。

よくつかうのはこちら。ALT+Insert。生成系のショートカットだ。

ゲッター、セッター、両方をすぐに選択できるので少ない数の生成に便利。

こんなシンプルなダイアログが出る。


生成メニューの一番下にプロパティの生成というのがある。選択するとこんなダイアログが出る。

これは既存のフィールドを利用するのではなく、一からプロパティを生成するためのダイアログ。Webアプリだとあまり使うことは無いけど、バウンド設定(イベントの通知等)が出来るため、Swing/AWTなどGUI系では便利。今後Pushが流行ればWebアプリでもこういうのもGUIアプリのように必要になるはず。


右クリックメニューから「リファクタリング」−「フィールドをカプセル化」を選択。上のメニューから選んでも良い。

そうすると以下のダイアログが出る。

これも既存のフィールドを元に生成するやつなのだが、細かい設定が可能だ。例えば、フィールドのアクセス可視性を設定していなくても無理やりprivateにしてくれたりアクセサメソッドをpublic以外にしたりといったことが可能。


一番良く使うフィールドから自動生成をALT+Insertによるショートカットで行った場合の生成コードは以下のとおり。

Eclipseとの違いはまったく無いようだ。もちろん他の生成方法を使うと変わってきたりする。


IntelliJ ID(ry