我有以下要求。
假设有2个属性,其中每个属性可以有3个值中的一个(多选)因此我们可以有2 x 3 = 6种不同类型的对象。
给定具有这些属性值的对象,我需要将其映射到某个类型。
在Java中执行此操作的最佳方法是什么?有没有我可以考虑的设计模式。
答案 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.TYPE6
,A
,B
和其中一个字符来创建C
中的每一个:{ {1}},1
。
当然,这只是一个示例,您可以将2
和char
替换为您需要的任何其他属性。