首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何返回常量字段

如何返回常量字段
EN

Stack Overflow用户
提问于 2014-06-23 06:25:14
回答 3查看 106关注 0票数 0

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

乡村课程的内容是这样的

注:国家级不是我的,所以我不能改变它,

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-23 06:42:31

你以为这会有什么用,神奇吗?

如果您有两个类,每个类都包含一个解析为"United“的静态字段,怎么办?当JVM看到某个字符串时,它应该神奇地选择给您哪个字符串?还是应该随便给一个?

当然,您可以使用某种自定义解析器来完成此任务。与…有关的东西:

代码语言:javascript
复制
public Country countryFromString(final String s) {
  switch s:
    case "United States": return Country.US;
    default: return null;
}
票数 1
EN

Stack Overflow用户

发布于 2014-06-23 06:40:12

这样您就可以获得变量:

代码语言:javascript
复制
Field[] fields = Country.class.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
    System.out.println(fields[i]);
}

返回Country.US的输出

代码语言:javascript
复制
public static final java.lang.String com.package.test.Country.US
票数 0
EN

Stack Overflow用户

发布于 2014-06-23 06:54:23

如果所有常量类都有静态的最后字符串国家,则可以使用反射。但是,就像人们说的,我不明白这一切的意义。

代码语言:javascript
复制
    for (Field field : Country.class.getDeclaredFields()) {
        if((String)field.get(Country.class).equals("United state")){
            return field.getName();
        }
    }
    //Throw exception
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24359606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档