java - 在枚举类中,如何将值转换为日期?
问题描述
在枚举类中,如何将值转换为类型java.util.date
?枚举仍然必须有一个名称。
我试过了:
ENUM_OPTION1(Date(10000000000L))
但是我收到一条错误消息,说“无法识别符号日期(长)”,即使我在文件顶部导入了类。
解决方案
new Date( … )
用于new
实例化一个java.util.Date
.
ENUM_OPTION1( new Date( 10_000_000_000L ) )
仅供参考,java.util.Date
是一个可怕的类,几年前被java.time类取代,特别是Instant
.
完整示例
在您的枚举上添加一个构造函数。在您声明的每个枚举实例上,调用构造函数。向该构造函数传递特定日期。请参阅Oracle 的教程。
public enum History {
US_DECLARATION_OF_INDEPENDENCE( LocalDate.of( 1776 , Month.July , 4 ) ) ,
US_CONSTITIUTION_APPROVED( LocalDate.of( 1787 , 9 , 17 ) )
;
private LocalDate localDate ;
// Constructor
public History( LocalDate ld ) {
Objects.requireNonNull( ld ) ;
this.localDate = ld ;
}
// Getter
public LocalDate getLocalDate() {
return this.localDate ;
}
}
要使用此枚举,请在其中一个命名常量实例上调用实例方法。
LocalDate ld = History.US_DECLARATION_OF_INDEPENDENCE.getLocalDate() ;
推荐阅读
- angular - 服务器端渲染:您无权执行此操作
- r - 如何在R中将字符转换为日期?
- spring - Spring Petclinic 项目的 H2 数据库连接
- javascript - 材质 UI 数据网格复选框重置
- react-native - 如何从网络向 Expo 发送通知?
- typescript - Vue / typescript:模板标签中的eslint变量
- asp.net - “在应用程序运行时不会应用在项目‘X’中所做的更改”,即使不再调试应用程序也是如此
- centos - 在自托管 Confluence 上设置管理员帐户时出错
- java - Java 类版本显示不正确
- python - 在多标签分类中修改model.fit