我有这些枚举:加入枚举在Java中
public interface MyEnum {
}
public enum Foo implements MyEnum{
A("Foo_a"),
B("Foo_b"),
C("Foo_c")
private String name = "";
Foo(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
public enum Bar implements MyEnum {
A("Bar_a"),
B("Bar_b"),
C("Bar_c")
private String name = "";
Bar(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
我将不得不使用一种方法来加入我的枚举是这样的:
join(Foo, A, B)
或以其他方式(更好):
Foo.join(A, B)
返回:
"Foo_a, Foo_b"
我尝试这样做:
static String join(MyEnum table, Object ... words) {
String joined = words[0].toString();
for(int i = 1 ; i<words.length ; i++) {
for(MyEnum.class t : MyEnum.values()) {
if (t == words[i]) {
joined += ", " + words[i].toString();
}
}
}
return joined;
}
但似乎我不能做for(MyEnum.class t : MyEnum.values())
。
你有什么想法来实现这种方法吗?
接口'MyEnum'没有一个名为'方法值()'。 – forgivenson 2014-09-10 12:05:24
而不是'MyEnum.values()',你可能的意思是'table.values()' – Joffrey 2014-09-10 12:20:41
另外,你想在这里实现什么?你想加入来自不同枚举的元素吗? @Jesper的简单答案似乎就是您在这里所需要的。如果对你不够,请更具体。 – Joffrey 2014-09-10 12:22:04