gpt4 book ai didi

java - 通过用户输入更改变量初始化值

转载 作者:行者123 更新时间:2023-12-01 12:15:57 25 4
gpt4 key购买 nike

假设我们有一个 java 类,其静态整型变量初始化为零,示例如下:

public final Example {
public static final int integer = 0;
}

这就是我正在尝试做的事情:

  • 让用户输入变量的值(在本例中假设为 5)
  • 更改源代码本身,以便变量现在被分配用户输入的值,并在下次运行程序时初始化为该值,如下所示:

公共(public)最终示例{
公共(public)静态最终 int 整数 = 5;
}

我想知道的是:

  • 是否可以这样更改源代码?

  • 如果是,我该怎么做?

目的是使用Example类来存储和保存特定数量的变量,用户可以从GUI更改这些变量的初始化值。更改后的初始化值必须保存起来,以便程序再次运行时使用。

我知道除了使用类文件之外还有其他方法可以存储和保存值,但如果可能的话,我想使用此方法,因为我觉得这最适合我正在处理的特定项目。

感谢大家的帮助!

最佳答案

以持久方式存储和检索首选项的 Java 方式是这样的。首先,获取一个 Preferences 实例,并传入您想要与这组首选项关联的类(使用应用程序的主类,除非您希望不同部分使用不同的首选项集应用程序):

private Preferences prefs = Preferences.userNodeForPackage(MainWindow.class);

现在要检索键为 someValue 的基于 String 的值,您需要

String someValue = prefs.get("someValue", null);

末尾的 null 是默认值:如果该 key 没有存储任何内容,您将返回该值。当然,您不必将默认值设置为 null

要存储,你会这样做

prefs.put("someValue", valueToStore);

这将以一种很好的独立于平台的方式完成,并将其存储在适合您运行的任何系统的位置。

还有.putInt().getInt()等,用于存储其他类型。看起来好像 int 是您最可能需要的,但您应该了解所有这些。

<小时/>

但是在回答您的具体问题时,您绝对不能(阅读:不应该)让用户输入自动更改下次运行的源代码!使用 Preferences 对象存储首选项,而不是通过更改源代码。

这不是迂腐。通过改变源代码来做到这一点是

  1. 更脆弱;
  2. 危险;
  3. 更难编码;
  4. 不易维护;
  5. 比较啰嗦;
  6. 不太便携。

此列表并不详尽:)

关于java - 通过用户输入更改变量初始化值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27012170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com