一个要永久存储在 Java 中的变量,稍后访问和编辑它



>假设有一个变量

int a = 10;

当我再次运行程序并访问数据时,当我以某种方式访问它时,情况是一样的。然后我能够改变它,假设

a = a + 6;

之后,除非我将其更改为其他内容,否则值保持不变。

有没有办法做这样的事情?

注意:不想使用文件和/或外部数据库。

下载 Java Prefernces API: https://docs.oracle.com/javase/8/docs/technotes/guides/preferences/index.html

然后键入:

    import java.util.prefs.*;
    public class Example {
        public static final int a = 10;
        public void savePreference(int value) {
           Preferences prefs = Preferences.userNodeForPackage(Example.class);                
           prefs.put(a, value); 
        }
        public int readPreference() {
           Preferences prefs = Preferences.userNodeForPackage(Example.class);
           return prefs.get(a, "default");  
        }  
        public void main (String args[]){
        // Read 
        myValue = readPreferences();
        // Modify 
        myValue = myValue + 6;
        // Save
        savePreferences(myValue);            
        }
    }

希望这有帮助

No.程序状态仅在其执行期间存在。

如果您希望a的状态在执行之间保持不变,则必须以某种方式将的值存储在应用程序之外。

如果您不想使用文件或数据库,则可以使用 Java 首选项 API。

您也可以使用环境变量,但这很棘手。

对于像我这样的初学者来说,还有一点。感谢员工

import java.util.prefs.Preferences;
public class DataClass {
public void createPreference(String name, int value) {
    Preferences prefs = Preferences.userNodeForPackage(DataClass.class);
    if (prefs.getInt(name, -1) == -1) {
        prefs.putInt(name, value);
        System.out.println("Created For you, "+name+" with value: "+value);
    } else {
        System.out.println("Already Exist");
    }
}
public int readPreference(String name) {
    Preferences prefs = Preferences.userNodeForPackage(DataClass.class);
    return prefs.getInt(name, -1);
}
public void updatePreference(String name) {
    Preferences prefs = Preferences.userNodeForPackage(DataClass.class);
    int val = prefs.getInt(name, -1);
    if (val != -1) {
        val++;
        prefs.remove(name);
        prefs.putInt(name, val);
        System.out.println("New Value of "+name+" is: "+prefs.getInt(name, -1));
    }
}
public void removePreference(String key) {
    Preferences prefs = Preferences.userNodeForPackage(DataClass.class);
    if(prefs.getInt(key, -1) != -1){
        prefs.remove(key);
        System.out.println("Removed: "+key);
    }else{
        System.out.println("No Such Data in: "+key);
    }
}
}

相关内容

  • 没有找到相关文章

最新更新