我有一个CSV文件,它包含一个状态列表(所有类型都在字符串中),需要上传到webservice中。每个州都有一个国家字段(乡村类型)。
乡村课程的内容是这样的

注:国家级不是我的,所以我不能改变它,。
我可以使用Country.US访问"United“值。可以反过来访问它吗?"United States",那么我的返回值是Country.US?我需要它在乡村类型,以便我可以传递到网络服务。

发布于 2014-06-23 06:42:31
你以为这会有什么用,神奇吗?
如果您有两个类,每个类都包含一个解析为"United“的静态字段,怎么办?当JVM看到某个字符串时,它应该神奇地选择给您哪个字符串?还是应该随便给一个?
当然,您可以使用某种自定义解析器来完成此任务。与…有关的东西:
public Country countryFromString(final String s) {
switch s:
case "United States": return Country.US;
default: return null;
}发布于 2014-06-23 06:40:12
这样您就可以获得变量:
Field[] fields = Country.class.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
System.out.println(fields[i]);
}返回Country.US的输出
public static final java.lang.String com.package.test.Country.US发布于 2014-06-23 06:54:23
如果所有常量类都有静态的最后字符串国家,则可以使用反射。但是,就像人们说的,我不明白这一切的意义。
for (Field field : Country.class.getDeclaredFields()) {
if((String)field.get(Country.class).equals("United state")){
return field.getName();
}
}
//Throw exceptionhttps://stackoverflow.com/questions/24359606
复制相似问题