gpt4 book ai didi

java - 如果请求在同一天到来,则对象保持不变,否则比较并创建新对象

转载 作者:行者123 更新时间:2023-12-02 03:04:41 24 4
gpt4 key购买 nike

今天,如果我第一次运行该程序,则创建该对象,否则我们将使用之前的对象。

public class ObjectRestriction {

static SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
static String date = "00000000";
public static void main(String[] args) {

if( date.equals(formatter.format(new Date())))
{
System.out.println("already create object");
}
else
{
Reconcilation rc = new Reconcilation();
date = formatter.format(new Date());
System.out.println(date);
}
}

}

但是当我再次运行时,它将日期变量初始化为“00000000”并创建新对象。因此,请帮助根据日期限制对象创建。

最佳答案

静态变量在应用程序运行后不会继续存在。任何其他类型的变量也没有。在您的 main 方法完成运行并且您没有生成任何其他线程后,您的应用程序就完成了。你所有的变量都消失了,被消灭了,不再存在,从内存中清除了。

持久存储

要在应用程序运行之间保存值,您必须 persist the value ,将数据写入storage 。例如在文件中,或发送到数据库。

java.time

您正在使用麻烦的旧日期时间类,现在是遗留的,已被 java.time 取代。类。对于没有时间和时区的仅日期值,请使用 LocalDate类(class)。

ZoneId z = ZoneId.of( "America/Montreal" );
LocalDate today = LocalDate.now( z );

ISO 8601

ISO 8601标准为表示日期时间值的文本定义了合理实用的格式。将日期时间对象写入文本文件时使用这些格式。

对于仅日期值,格式为 YYYY-MM-DD。 java.time 类默认使用这些标准格式。所以你只需调用toString即可。

String output = today.toString();

LocalDate ld = LocalDate.parse( "2017-01-23" );

关于java - 如果请求在同一天到来,则对象保持不变,否则比较并创建新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41889277/

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