我有这个类Launcher.java:
public class Launcher {
public static void main(String... args){
new App();
System.out.println( "Innovate's current build is : " + App.getBuild());
}
}
和App.java类:
import javax.swing.*;
public class App extends JFrame {
static int build;
public App(){
super("Innovate");
setBuild(getBuild() + 1);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,200);
setResizable(false);
}
public static void setBuild(int inc){
build = inc;
}
public static int getBuild(){
return build;
}
}
我每次运行应用程序时都会尝试将内部版本号增加1,但无论何时运行它都会输出1并且不会增加,我将如何进行此操作?
感谢
答案 0 :(得分:0)
您可以继续并序列化内部版本号。因为每次关闭应用程序时它都会丢失。
答案 1 :(得分:0)
static int build;
当您从应用中退出时,您必须将内部版本号保存到文件中。创建第一个App类对象时,您已从文件中读取并将其保存到构建变量中。您可以使用静态初始化程序块来读取文件中的数据,因为静态块只执行一次:第一次创建该类的对象或第一次访问该类的静态成员时(即使您从未创建过该对象的静态成员)那个班。)
答案 2 :(得分:0)
正如其他人所提到的,您可以使用serialization来保持对象的状态,或者您可以将值读/写为属性文件。虽然这些可行,但我不确定它是你想要的最佳解决方案。如果您正在尝试跟踪应用程序的内部版本号,通常会将其作为项目中的静态值保留,并且每次真正部署应用程序时都会更改,无论是发布/快照/等。希望有所帮助。