【发布时间】:2011-12-04 21:05:51
【问题描述】:
有没有一种简洁的方式将枚举 CLASS 传递给函数?
考虑这样的事情:
public enum MyEnum implements XYZ {
//enum values
A,
B,
C;
}
public void getEnumeration(final Class<? extends XYZ> myEnum) {
//go through enumeration
for (XYZ xyz : myEnum.getEnumConstants()
System.out.println(xyz.toString());
}
传入的枚举如下:
getFunction(MyEnum.class);
现在......上述工作,我可以将我的枚举传递给 getEnumeration() 函数就好了。但是,我想确保我传入的确实是一个枚举,而不是任何实现XYZ 的类。 我意识到枚举是一种类,但是有没有一种方法可以强类型化,这样如果我传入一个实现 XYZ 的类而不是实现的枚举,编译器就会选择它XYZ?
【问题讨论】:
标签: java function parameter-passing enumeration strong-typing