作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
今天,如果我第一次运行该程序,则创建该对象,否则我们将使用之前的对象。
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 取代。类。对于没有时间和时区的仅日期值,请使用 LocalDate
类(class)。
ZoneId z = ZoneId.of( "America/Montreal" );
LocalDate today = LocalDate.now( z );
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/
我遇到过 WinAPI 的奇怪行为,在我看来是这样。在我的程序中,我为窗口设置了一个计时器 ::SetTimer(window_handle, timer_id, 10, NULL); 并在我的窗口过
我是一名优秀的程序员,十分优秀!