java返回属性_java – 根据对象属性确定哪个枚举返回
我建議你使用簡單的繼承與不可變對象.
所以,首先你必須創建抽象類:
public abstract class AbstractPerson {
private final String name;
private final Optional nickname;
private final boolean speaksEnglish;
private final PersonType personType;
protected AbstractPerson(final String name, final Optional nickname, final boolean speaksEnglish, final PersonType personType) {
this.name = name;
this.nickname = nickname;
this.speaksEnglish = speaksEnglish;
this.personType = personType;
}
public String getName() {
return name;
}
public Optional getNickname() {
return nickname;
}
public boolean getSpeaksEnglish() {
return speaksEnglish;
}
public PersonType getPersonType() {
return personType;
}
}
使用PersonType枚舉:
public enum PersonType {
TypeOne, TypeTwo, TypeThree;
}
現在,我們在子類中有三個選項和相應的構造函數:
public final class EnglishSpeakingPerson extends AbstractPerson {
public EnglishSpeakingPerson(final String name, final String nickname) {
super(name, Optional.of(nickname), true, PersonType.TypeOne);
}
}
public final class Person extends AbstractPerson {
public Person(final String name, final String nickname) {
super(name, Optional.of(nickname), false, PersonType.TypeTwo);
}
public Person(final String name) {
super(name, Optional.empty(), false, PersonType.TypeThree);
}
}
在這種情況下,我們的具體類是不可變的,其類型是在創建時定義的.您不需要創建if-else梯形圖 – 如果要創建新類型,只需創建新的類/構造函數.
總結
以上是生活随笔為你收集整理的java返回属性_java – 根据对象属性确定哪个枚举返回的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剖析管理所有大数据组件的可视化利器:Hu
- 下一篇: Algs4-1.4.18数组的局部最小元