0
0

More than 1 year has passed since last update.

Java Enum(列挙型)

Last updated at Posted at 2023-01-07

enumを使ったメソッドを作成した時の備忘録。
変数に決められた値を入れるときは、enum型を使うのは基本のようですね。

private enum MDID {
    IPHONE("001"),
    ANDROID("002"),
    IPAD("003"),
    TABLET("004");

    private String modelId = "";
    private MOID(String modelId) {
        this.modelId = modelId;
    }

    public String getId() {
        return this.modelId;
    }
}

private enum SVID {
    PRICE("0010"),
    DATA("0020"),
    NEWS ("0030");

    private String serviceId = "";
    private SVID(String serviceId) {
        this.serviceId = serviceId;
    }

    public String getId() {
        return this.serviceId;
    }
}

public Map<String,String> getState() {
    Map<String String> ret = new HashMap<String,String>();

    String contentModelId = "";
    List<String> contentServiceList = new ArrayList<String>();

    if (条件1) {
        contentModelId = MDID.IPHONE.getId(); //001
        contentServiceList.add(SVID.PRICE.getId()); //0010
    } else if (条件2) {
        contentModelId = MDID.ANDROID.getId(); //002
        contentServiceList.add(SVID.DATA.getId()); //0020
    } else if (条件3) {
        contentModelId = MDID.IPAD.getId(); //002
        contentServiceList.add(SVID.NEWS.getId()); //0030
    } else if (条件4) {
        contentModelId = MDID.TABLET.getId(); //003
        contentServiceList.add(SVID.DATA.getId()); //0020
        contentServiceList.add(SVID.NEWS.getId()); //0030
    }

    if(contentServiceList.size() == 0) {
        return ret;
    }

    ret = this.AnotherMethod(contentModelId,contentServiceList)
    return ret;
}

簡単に解説

MOID.IPHONEにすることで、enum内のコンストラクが動く

    contentModelId = MDID.IPHONE

コンストラクトによって変数modelIdに引数である001が入る。

    IPHONE("001");//引数は001

    private String modelId = "";
    private MOID(String modelId) { //コンストラクトが動く 引数は001
        this.modelId = modelId; //001が変数のmodelIdに入る
    }

    public String getId() {
        return this.modelId;
    }

getId()でmodelIdを取得するので001がcontentModelIdに入る

contentModelId = MDID.IPHONE.getId();

enumの基本的な使い方でした:disappointed:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0