假设我们有一个java类,其静态整数变量初始化为零,如下所示:
public final Example {
public static final int integer = 0;
}
这是我正在尝试做的事情:
public final Example {
public static final int integer = 5;
}
我想知道的是:
是否可以像这样更改源代码?
如果是的话,我该怎么办呢?
目的是使用Example类来存储和保存特定数量的变量,用户可以从GUI更改这些变量的初始化内容。当程序再次运行时,必须保存更改的初始化值。
我知道除了使用类文件之外,还有其他方法可以存储和保存值,但是如果可能的话,我想使用这种方法,因为我觉得这对我正在处理的特定项目最好。
感谢任何帮助,伙计们!
答案 0 :(得分:1)
以持久方式存储和检索首选项的Java方式是这样的。首先,获取一个Preferences
实例,并传入要与此一组首选项关联的类(使用应用程序的主类,除非您需要为应用程序的不同部分设置不同的首选项) ):
private Preferences prefs = Preferences.userNodeForPackage(MainWindow.class);
现在要使用String
键检索基于someValue
的值,您需要
String someValue = prefs.get("someValue", null);
最后的null
是默认值:如果该密钥没有存储,那么您将获得什么。当然,您不必将默认值设为null
。
要存储,您可以
prefs.put("someValue", valueToStore);
这将以一种与平台无关的方式实现,并将其存储在适合您运行的系统的适当位置。
还有.putInt()
和.getInt()
等,用于存储其他类型。看起来好像int
是你最需要的,但你应该知道所有这些。
但是在回答您的具体问题时,您绝对不能(自己也不应该)让用户输入自动更改下次运行的源代码!使用Preferences
对象存储首选项,而不是更改源代码。
这不是迂腐。通过改变源代码来实现它将是
此列表并非详尽无遗:)