加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 我的Android项目在Enum和string.xml之间有重复的声明

发布时间:2020-12-15 02:35:59 所属栏目:Java 来源:网络整理
导读:我有用于Spinner等的String数组. string-array name="Animal" item Cat/item item Dog/item item Rabbit/item item Bird/item/string-array 我有一个容器类来包含用户输入的值或从Spinner中选择的值.成员变量主要是基元或枚举. public class Container { pro
我有用于Spinner等的String数组.

<string-array name="Animal">
    <item >Cat</item>
    <item >Dog</item>
    <item >Rabbit</item>
    <item >Bird</item>
</string-array>

我有一个容器类来包含用户输入的值或从Spinner中选择的值.成员变量主要是基元或枚举.

public class Container {
    protected int index;
    protected int age;
    protected String name;
    protected Animal pet;
}

这就是如何定义一个Enum类(注意这是一个更简单的版本,在我的实际代码中,还有一些更多的方法或变量,每个Enum实例都是大写的,比如CAT).

public enum Animal {
    Cat,Dog,Rabbit,Bird,}

如您所见,我实际上在Enum和XML中重复了同样的事情.根据DRY,这并不是很好.我应该删除哪个,应该怎么做?

在这一点上,我倾向于保留Enum,因为它在功能上比XML更通用,并且同样可维护.我可能关心的唯一可能的问题是它的性能.它们可能需要更多内存和一些额外的编码工作.

解决方法

如果你想避免重复,你应该保留Enum,然后使用for(Animal animal:Animal.values()){…}填充微调器.

您可以使用枚举名称作为键来检索本地化标签或类似的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读