我想在构造函数中添加一个Date类型的参数,所以我认为最好的方法是编写一个将字符串转换为日期的方法。检查我的字符串是否为有效日期的最简单方法是哪种?
这是我的构造函数:
Product product = new Product("Produs 1", 312.33, updateDate("23/12/2018"));
这是将String转换为Date的方法。
public static Date updateDate(String date) {
Date newDate = new Date();
try {
DateFormat dtF = new SimpleDateFormat("dd/MM/yyyy");
newDate = dtF.parse(date);
return newDate;
} catch (ParseException e) {
e.printStackTrace();
}
return newDate;
}
答案 0 :(得分:-1)
我会尽量减少try-catch块。此外,如果解析字符串时出现问题,我将返回Optional<Date>
而不是新创建的date
对象。
public static Optional<Date> getDateFromString(String s) {
Date date = null;
DateFormat dtF = new SimpleDateFormat("dd/MM/yyyy");
try {
date = dtF.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return Optional.ofNullable(date);
}
一个好的做法是使用更具自我描述性的名称命名该函数,例如getDateFromString
。