gpt4 book ai didi

Java 设置枚举值

转载 作者:行者123 更新时间:2023-12-01 22:10:54 25 4
gpt4 key购买 nike

我有一个 java 枚举

public enum Month {
JANUARY("01. January")
,FEBRUARY("02. February")
, MARCH("03. March")
, APRIL("04. April")
, MAY("05. May")
, JUNE("06. June")
, JULY("07. July")
, AUGUST("08. August")
, SEPTEMBER("09. September")
, OCTOBER("10. October")
, NOVEMBER("11. November")
, DECEMBER("12. December");

private final String displayName;

Month(final String display)
{
this.displayName = display;
}

@Override public String toString()
{
return this.displayName;
}

};

我还有一个 DTO 对象

public class SampleDTO {

private int variable1;

private Set<String> monthName;

public int getVariable1() {
return variable1;
}

public void setVariable1(int variable1) {
this.variable1 = variable1;
}

public Set<String> getMonthName() {
return monthName;
}

public void setMonthName(Set<String> monthName) {
this.monthName = monthName;
}

}

最后我有一个输入参数为 SampleDTO 的方法,有没有一种方法可以强制将字符串添加到 MonthName 时,它​​始终来自枚举的有效值。例如,不应允许将“dfkjahdkjfadf”添加到集合中

最佳答案

更改Set<String>Set<Month>这样它只能包含 Month枚举实例。确保这是合法月份似乎是您契约(Contract)的一部分,因此您必须在 SampleDTO 内强制执行它.

关于Java 设置枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31861257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com