我有这样的两个阶级,我想,第二个(DocumentiDiIdentitaList)创建一个基于在第一类中声明的变量的所有值的列表(DocumentiDiIdentita)反思级Java
其实我得到这个代码
public class DocumentiDiIdentita {
public static final String CARTA_IDENTITA = "CI";
public static final String CARTA_IDENTITA_AFTER_25_06_2003 = "CI_NEW";
public static final String PASSAPORTO_CONSOLATO = "PC";
public static final String PASSAPORTO_QUESTURA = "PQ";
public static final String PASSAPORTO_ESTERO = "PE";
public static final String PATENTE_MORIZZAZIONE = "PZ";
public static final String PATENTE_PREFETTURA = "PT";
public static final String PORTOARMI = "PM";
public static final String PASSAPORTO="PA";
}
public static class DocumentiDiIdentitaList {
private static Field[] fields = DocumentiDiIdentita.class.getFields();
public static List documentTypes = Arrays.asList(fields);
}
但实际上列表documentTypes cointains变量的名称,而不是它们的值,所以实际上是:
CARTA_IDENTITA
CARTA_IDENTITA_AFTER_25_06_2003
PASSAPORTO_CONSOLATO
etc.
,但我想:
CI
CI_NEW
PC
etc.
我怎么能做到这一点? (我必须在Java 1.4上运行)
Field.get(Object)呢? http://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#get-java.lang.Object- – JEY
@JEY使这个答案;) – 2016-04-26 07:56:37
我不能得到如何使用这个“Field.get(Object)”,对不起 – RudiDudi