使用自定义字符串初始化静态最终日期

萨加尔·甘瓦尔:

我正在使用Java并遇到一个随机问题。在这里,我共享了我的问题的示例代码。

我想用我的自定义字符串格式初始化一些静态最终日期字段。

public class Sample {
    protected static final Date MAX_DATE ;
    static {
        try {
            MAX_DATE = new SimpleDateFormat("yyyy-MM-dd").parse("2099-12-31");
        } catch (ParseException e) {
            e.printStackTrace();
        }

    }
}

当直接放在线下时,它要求尝试并抓住。

protected static final Date MAX_DATE= new SimpleDateFormat("yyyy-MM-dd").parse("2099-12-31");

当我按照上面的代码所述添加try and catch时,它会引发错误

Variable 'MAX_DATE' might not have been initialized

当使用下面的代码初始化时,它开始Cannot assign a value to final variable 'MAX_DATE'在第5行上引发错误

protected static final Date MAX_DATE=null;

有人可以帮我解决这个问题吗?任何帮助将不胜感激。

Seb:

如果您只需要一个简单的日期,则应使用LocalDate而不是Date

protected static final LocalDate MAX_DATE = LocalDate.of(2099, 12, 31);

如果(由于某种原因)必须从字符串中获取日期,则也可以按以下方式使用它:

protected static final LocalDate MAX_DATE = LocalDate.parse("2099-12-31");

万一这真的很困难

  • 从任意模式的String解析日期,并且
  • 用好 java.util.Date

这样的事情应该可以解决问题:

protected static final LocalDate MAX_DATE = Date.from(LocalDate.parse("2088||12||31", DateTimeFormatter.ofPattern("yyyy||MM||dd")).atStartOfDay(ZoneId.systemDefault()).toInstant());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

字符串更改时,如何在不同的数据框中写入初始日期和最终日期?

初始化字符串的静态const列表

静态字符串初始化顺序问题

无法初始化静态常量字符串

使用自定义的setter / getter并初始化属性,以便快速获取日期

使用 constexpr 初始化非常量静态字符串

UILabel子类使用自定义颜色初始化

如何使用自定义属性初始化 SparkContext?

使用@Namespace进行.matchedGeometryEffect的自定义初始化

使用自定义ChangeNotifier初始化riverpod Provider

初始化前使用的自定义变量“层”

如何在Gnuplot中使用自定义日期/时间字符串格式化tic标签?

自定义绑定初始化

重载>>运算符,并使用自定义类型的初始化列表初始化

使用不同大小的字符串文字初始化具有给定大小的静态char数组会导致未定义行为吗?

从字符串重新格式化自定义日期

解析和格式化自定义日期字符串Moment.js

使用自定义注释注释的bean的自定义初始化

GraphQL自定义日期和格式字符串

SQLite 中的自定义 ORDER BY 字符串日期

在自定义类中初始化日期会导致错误:“实例成员不能在类型上使用”

如何使用“”初始化字符串?

使用指针初始化字符串

使用包含字符串的列表初始化矩阵

使用Python中的自定义字符串从数据框日期列返回会计季度

自定义日期字符串使用杰克逊JsonFormat模式

使用初始化的字符串初始化匹配器,获取NullPointerException

使用标量初始化程序初始化字符串数组

字符串格式化自定义对象