在同一区域的DTO中具有多个设置器是一个好的设计吗? 假设我有一个名为
的枚举Color
{
RED(1), GREEN(2), BLUE(3);
Color getFromString(String test){
//return Color
}
}
还有一个自动值对象
@AutoValue
public abstract class ABC{
@Nullable
public abstract String getColor();
@Nullable
public abstract Color getColor();
static Builder builder() {
return new AutoValue_Color.Builder();
}
@AutoValue.Builder
abstract static class Builder {
public abstract Builder color(Color color); \\line 15
public Builder color(String color){ \\line 17
if(StringUtils.isNotEmpty(color)){
color(Color.getFromString(color))
}
}
}
}
我需要使用setter,因为代码中有些地方需要调用第16行,因为我有可用的字符串,有些地方有枚举可用。