在Java中使用常量接口有很多负面评论。我只想知道Android开发是否相同,以及原因。
我有这个问题,因为我听到了Enum
和static final
之间的争斗。 Enum
对于Android开发来说不是一件好事,我发现Android开发者发布的YouTube视频帖子建议开发人员使用static final
代替Enum
。
答案 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,您也可以使用整数常量。这种方法非常有用,因为您从代码中抽象出了我认为更有条理的内容。对于特定类所需的常量,我会将它们限定在类中!