java的元素枚举问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 18:56:06
我们知道java提供了Enum类型,那我想问,如何运用这种方式(或者其他的办法),枚举并得到一个类或者一个方法中所有的元素,经过筛选然后得到自己需要的元素。
比如在一个类中有很多String类型和Int类型的变量,现在需要一种方法动态的获取其中所有的String类型的变量的变量名,然后使用方法对其赋值。

import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class KKK {
private String str1;
private String str2;
private int i1;
private int i2;
private Integer int1;
private Integer int2;
private void method1(){

}
private void method2(){

}

public static void main(String args[]) throws Exception {
Field[] fields = KKK.class.getDeclaredFields();
for(int i=0;i<fields.length;i++){
System.out.println(fields[i].getName());
}
Method[] method = KKK.class.getDeclaredMethods();
for(int i=0;i<method.length;i++){
System.out.println(method[i].getName());
}
}
}

public enum DianShu {
a2(0),a3(1),a4(2),a5(3),a6(4),a7(5),a8(6),a9(7),a10(8),J(9),Q(10),K(11),A(12);

private DianShu(int i){//构造方法
this.dian=i;
}这样根据后面的参数就能确定哪个元素。

Enum 和成员变量之间没有关系,你说的需要用reflection。