🌊

Java: `v; () -> { v = newV; }` をやりたい時

2023/03/22に公開

OSS探せばありそうだけど重いパッケージを導入したくないシリーズです。

使い方

var v = new LocalVar<V>(null);    // コンストラクタで作り
var r = () -> {
    v.setAnyObj(new V());     // オブジェクトを入れ替える
};

クラス定義

import lombok.AllArgsConstructor;
import lombok.Data;

@AllArgsConstructor
@Data
public class LocalVar<T> {
    private T anyObj;
}

少し文字量減らしたい時

var v = new LocalVar<V>(null);
var r = () -> {
    v.setO(new V());
};
import lombok.AllArgsConstructor;
import lombok.Data;

@AllArgsConstructor
@Data
public class LocalVar<T> {
    private T o;
}

Discussion