gpt4 book ai didi

java - 程序执行完毕后如何使用ArrayList和整数字段中的数据?

转载 作者:行者123 更新时间:2023-12-02 10:26:27 24 4
gpt4 key购买 nike

我正在尝试创建一个 GUI 应用程序来管理门票销售。例如,每次售出一张门票时,我都应该在我的门票 ArrayList 中更新有关该门票的信息,并且在关闭程序后它应该仍然存在。我目前定义了一个数据类,如下所示:

public class Database {
static ArrayList<Ticket> soldTickets;
static int valueOfAllSoldTickets;

public Database() {
soldTickets = new ArrayList<Ticket>();
valueOfAllSoldTickets = 0;
}
}

我实际上不想多次实例化一个Database对象,它应该只发生一次来保存GUI用户将要使用的数据。我只是希望它是某种类型的结构,我可以用它来将一堆不同的信息存储在硬盘驱动器上(例如更多intslists)想象一下这样的类中有更多的字段。但是我如何将对这个 int 字段的更改写入硬盘驱动器,并能够使用像 getTotalSales() 这样的方法来访问它?此方法将在我的数据库类中。

一旦我有了 main 方法,所有东西都在运行,我也不想每次运行程序时都创建一个新的票证 ArrayList。这让我问如何仅实例化一个票证 ArrayList 一次,并且不再发生这种情况,然后根据需要使用该已实例化的列表进行添加和删除。该列表还需要存储在运行它的计算机的硬盘驱动器上。如果我以错误的方式处理这个问题,如果有人能告诉我另一种方法来做到这一点,我将不胜感激。谢谢。

最佳答案

如果你可以使用FasterXML/jackson

private static final String TICKET_NAME = "ticker.json";
private static final ObjectMapper mapper = new ObjectMapper();

public static void main(String[] args) throws Exception {
// 1 start,init the list of ticket
File file = new File(TICKET_NAME);
TypeReference<List<Ticket>> reference = new TypeReference<List<Ticket>>() {
};
List<Ticket> tickets = mapper.readValue(file, reference);
file.delete();

// 2 stop store the tickets into file
File newFile = new File(TICKET_NAME);
mapper.writeValue(newFile, tickets);
}

关于java - 程序执行完毕后如何使用ArrayList和整数字段中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53928845/

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