2009-11-24 4 views
16

私がeclipseでコーディングしているとき、私はできるだけ怠け者であることが好きです。ですから、私はよく次のようにタイプします:コンストラクタからeclipseでフィールドを自動的に生成できますか?

myObject = new MyClass(myParam1、myParam2、myParam3);

MyClassは存在せず、どちらもコンストラクタではありません。数回クリックするとeclipseはMyClassを作成しました。これは、入力したものから推定されるコンストラクタです。私の質問は、私はコンストラクタに渡したものに対応するクラス内のフィールドを生成するためにもEclipseを取得することは可能ですか?私はそれが超怠惰だと気づいていますが、それは日食の全喜びです!

答えて

28

あなたはクラスA

class A{ 
    A(int a |){} 
} 

を持っている場合|カーソルです。 もしくはCtrl + 1"新しいフィールドにパラメータを割り当てる"

結果:

class A{ 
    private final int a; 
    A(int a){ 
     this.a = a; 
    } 
} 

これは、メソッドのためにも動作します:

private int b; 
    void method(int b){ 
     this.b = b; 

    } 
+0

乾杯、これはまさに私が探していたものです。 – Benj

+1

男、私はEclipseが大好きです。ありがとう! +1 –

+2

複数のフィールドでこれを使用するにはどうすればよいですか?例えば、私が5つのフィールドを持っていて、このフィールドを1つの移動でのみ生成したいのであれば、 – pleerock

4

私はあなたが他の方法で行うことができます知っている。フィールドを定義し、Eclipseがあなたのためにこれらのフィールドを使用してコンストラクタを生成してみましょう:Source | Generate Constructor using Fields

+0

非常に便利です、私は私が今日の後だったものはかなりありませんでしたにもかかわらず、これを使用すると確信しています。 – Benj

0

void method(int b){} 

はになります

Eclipse Neon itからすべてのパラメータをフィールドに割り当てることができます。

それはAssign all parameters to new fieldsを示唆して迅速な支援はCtrl + を使用します。カーソルがコンストラクタのかっこの間にある場合は、クイックアシストを呼び出すことができます。

このオプションは、メソッドでも使用できます。

source

関連する問題