根据对象的属性将对象置于某种类型

时间:2014-07-15 05:49:49

标签: java algorithm design-patterns

我有以下要求。

假设有2个属性,其中每个属性可以有3个值中的一个(多选)因此我们可以有2 x 3 = 6种不同类型的对象。

给定具有这些属性值的对象,我需要将其映射到某个类型。

在Java中执行此操作的最佳方法是什么?有没有我可以考虑的设计模式。

1 个答案:

答案 0 :(得分:2)

以下是使用enum实施2x3选项的示例:

enum Types {

    TYPE1('A',1),
    TYPE2('A',2),
    TYPE3('B',1),
    TYPE4('B',2),
    TYPE5('C',1),
    TYPE6('C',2);

    private final char x;
    private final int i;

    Types(char x, int i) {
        this.x = x;
        this.i = i;
    }

}

在上面的示例中,您可以使用其中一个字符Types.TYPE1,...,Types.TYPE6AB和其中一个字符来创建C中的每一个:{ {1}},1

当然,这只是一个示例,您可以将2char替换为您需要的任何其他属性。