如果枚举中的类型仅使用一次,我应该创建一个枚举或类吗

问题描述 投票:0回答:1

在Java中,想知道哪种解决方案是最佳的编码实践和性能?

因此,如果我创建了以下枚举,但是对于每种类型的枚举,它将仅用于一次

public enum DifferType{
    TypeA("TypeA", True, "Monthly", False),
    TypeB("TypeB", False, "Daily",True),
    TypeC("TypeC", True, "Yearly",False),
    TypeD("TypeD", False, "Monthly",True)
    TypeE("TypeE", True, "Yearly",False),
    TypeF("TypeF", False, "Monthly",True),
    TypeG("TypeG", True, "Yearly",False),
    TypeH("TypeH", False, "Monthly",True)
    }

或子类,何时可以使用它创建一个新对象并设置该字段?

   public class DifferType{

    public DifferType(String name, Boolean isDown, String frequency, String isLeft){
    this.name = name;
    this.isDown = down;
    this.frequency = frequency;
    this.isLeft = isLeft;
    }

}
DifferType TypeA = new DifferType("TypeA", True, "Monthly", False);
 DifferType TypeB = new DifferType("TypeB", False, "Daily",True)
.....etc
java performance class enums enumeration
1个回答
0
投票

它们有不同的用途。当您可以枚举(因此得名)时,enum通常用于某些Object的所有可能或有意义的值。因此,如果TypeA ... TypeH覆盖all可能的值,则enum最佳。如果您仅提供一些示例或常用示例,则该类是[[可能最佳选择*。

至少在我看来,使用次数实际上不是考虑因素。 API会随着时间的推移而发展和变化,您很可能会发现以前只使用过一次的东西现在已经遍地开花。


*有时,enuminterface组合也适用于这种情况。如:

interface ThingDoer { void doThing(); } enum CommonThingDoers implements ThingDoer { _1() { @Override public void doThing() {} }, _2() { @Override public void doThing() {} } // etc... }

允许扩展,但也说'这些是我目前

期望

看到的所有值。
© www.soinside.com 2019 - 2024. All rights reserved.