相关疑难解决方法(0)

在Java中实现常量的最佳方法是什么?

我见过这样的例子:

public class MaxSeconds {
   public static final int MAX_SECONDS = 25;
}
Run Code Online (Sandbox Code Playgroud)

并且假设我可以有一个Constants类来包装常量,声明它们是静态final.我几乎不知道Java,我想知道这是否是创建常量的最佳方法.

java constants

373
推荐指数
12
解决办法
67万
查看次数

使用enum.values()与String数组时是否有性能损失?

我正在使用枚举来替换String我的Java应用程序中的常量(JRE 1.5).

当我将enum视为不断调用的方法中的静态名称数组时(例如,在呈现UI时),是否会影响性能?

我的代码看起来有点像这样:

public String getValue(int col) {
  return ColumnValues.values()[col].toString();
}
Run Code Online (Sandbox Code Playgroud)

澄清:

  • 我关注与values()重复枚举相关的隐藏成本(例如,在paint()方法内部).
  • 我现在可以看到我的所有场景包括一些int=> enum转换 - 这不是Java的方式.

提取values()数组的实际价格是多少?这甚至是个问题吗?

Android开发者

请阅读下面的Simon Langhoff的答案,Geeks On Hugs在接受的答案评论中已经指出了这一点.Enum.values() 必须做一个防御性的副本

java performance enums

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×2

constants ×1

enums ×1

performance ×1