使用接口或类作为常量?

时间:2016-01-05 19:44:56

标签: java android interface enums

在Java中使用常量接口有很多负面评论。我只想知道Android开发是否相同,以及原因。 我有这个问题,因为我听到了Enumstatic final之间的争斗。 Enum对于Android开发来说不是一件好事,我发现Android开发者发布的YouTube视频帖子建议开发人员使用static final代替Enum

3 个答案:

答案 0 :(得分:3)

这取决于你想要做什么。如果需要存储一组类型安全的静态数据,请使用枚举。例如,您可以使用一组硬币类型来表示货币。

像这样:

 public enum Coin {
     PENNY,
     NICKEL,
     DIME,
     QUARTER;
 }

对于不同类型的静态数据,请使用静态最终值。

例如:

static final int FREEZING_TEMP_FAHRENHEIT = 32
static final int GRAVITY = 9.81

这取决于您是否可以对静态数据进行分组,以便将其存储为一组内容。如果是这样,枚举。如果没有,静态最终。

答案 1 :(得分:1)

对于常量的接口是什么意思?在我的大多数应用程序中,我有一个Singleton类常量,它有一些公共静态最终字段(在开发时已知的东西)和一些公共字段(仅在运行时已知并且在单例实例由单元实例初始化时初始化的内容)首先调用Constants.getInstance())。如果我的某些字段需要设置上下文,通常我会添加一个方法initialize(Context context),这是我在MainActivity的onCreate中调用的第一个东西。

答案 2 :(得分:0)

对于常量,我通常会为它创建一个资源。例如,对于字符串,您将使用strings.xml,您也可以使用整数常量。这种方法非常有用,因为您从代码中抽象出了我认为更有条理的内容。对于特定类所需的常量,我会将它们限定在类中!