Java Lombok | ユーティリティオブジェクト - @UtilityClass

ユーティリティオブジェクト

@UtilityClassを使用すると、コンストラクタをprivateにし、すべてのメソッドをstaticにしてくれる。

次のコードは@UtilityClassを使用した例である。

package com.devkuma.tutorial.lombok;

import lombok.experimental.UtilityClass;

@UtilityClass
public class UtilityClassTutorial {

    public int plus(int a, int b) {
        return a + b;
    }
}

上のコードは@UtilityClassによって次のように変換される。

package com.devkuma.tutorial.lombok;

public final class UtilityClassTutorial {
    public static int plus(int a, int b) {
        return a + b;
    }

    private UtilityClassTutorial() {
        throw new UnsupportedOperationException("This is a utility class and cannot be instantiated");
    }
}