我面临一个有趣的问题。我正在用Java开发游戏,我想知道存储常量的最佳方法。我想要实现几点:
static final
常量将不起作用)。 工作流程应该是这样的:我正在调试正在运行的应用程序。我将更改一些常量(在代码或外部文件中),触发更新(eclipse热替换或应用内操作)并且常量会立即更改。
任何建议都将受到赞赏。
答案 0 :(得分:1)
您可能希望了解为处理本地化而设计的一些方法,并根据您的需求进行调整。
这是蓝宝石的一个......
基本思想是你有一些带有注释的静态(但不是最终字段)来提供默认/初始值。您可以在类init期间执行一个方法,通过首先查看属性文件并回退到注释来填充这些静态。
看起来像这样:
public class NumericRangeValidationService
{
@Text( "{0} is smaller than the minimum allowed value ({1})" )
private static LocalizableText smallerThanMinimumMessage;
@Text( "{0} is larger than the maximum allowed value ({1})" )
private static LocalizableText largerThanMaxiumMessage;
static
{
LocalizableText.init( NumericRangeValidationService.class );
}
...
}
答案 1 :(得分:0)
在大项目中存储常量的最佳方法是创建一个单独的文件,其名称具有常量,例如:“StackOverflowConstants.java”
将此文件中的常量用作: -
public static final String USERNAME = "STACK";