Javaでラムダを使用して、作成時にオブジェクトのフィールドを構成したいと考えています。これはラムダインラインを呼び出さなければならないことを意味しますが、最初に何かにラムダを割り当てる前にラムダを実行する例は見ていません。具体的には次のようにしたいと思います:Javaラムダの結果をフィールドに代入
private JTextField tfInput =() -> { JTextField tf = JTextField(""); tf.setEditable(false); return tf; }();
これはJavaで可能ですか?
ポイントは何ですか?ステートメントを直接実行してみませんか? – shmosel
インラインで実行すると、他の関数の中で何もしないので、tf.getEditable()はfalse(デフォルトでは少なくとも)になります。とにかく、このコーディングスタイルが良いかどうかは後で決めることができます。私はそれが可能かどうかを知りたいだけです。 – PopKernel
私はあなたが 'tfInput = new JTextField(" "); tfInput.setEditable(false); 'コンストラクタ内にあります。私はラムダが何のためになるかわかりません。 – ajb