我有一个类A_Class
,它的构造函数参数之一是Date
类型,例如,当我尝试在我的主对象中初始化该类的对象时:
A_Class aClass = new A_Class( param1, param2, new Date(1995,01,04) );
IDE告诉我不建议使用Date
这种格式。
没有另一种直接向构造函数传递新日期的方法,还是我总是必须像这样:
final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd",Locale.US);
String dateInString1 = "1995-Jan-4";
Date dateInDate1 = formatter.parse(dateInString1);
A_Class aClass = new A_Class( param1, param2, dateInDate1 );
LocalDate
对于没有日期和时区的仅日期值,请使用LocalDate
。
LocalDate localDate = LocalDate.of( 1995 , 1 , 5 ) ;
生成标准ISO 8601格式YYYY-MM-DD的文本。
String output = localDate.toString() ;
将您的班级设计为容纳LocalDate
而不是Date
。
public class Employee
{
private String givenName, surName ;
LocalDate whenHired ;
// Constructor
public Employee( String givenName , String surName , LocalDate whenHired )
{
…
}
}
示例用法。
Employee alice = new Employee( "Alice" , "Anderson" , LocalDate.of( 1995 , Month.JANUARY , 4 ) ) ;
正文字
新日期(1995,01,04)
除非以八进制(基数8)而不是十进制(基数10)表示,否则不要以零开头的文字整数。