我有這些枚舉:加入枚舉在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