我有一个来自数据库的对象数组,我必须保留日期最高的对象,即最后插入的对象。
2018-10-09 10:11:50
2018-11-01 13:11:22
2018-11-01 14:20:10 --> esta
private ThirdValidation maxRegister(List<ThirdValidation> process) {
ThirdValidation tv = null, maxTv = null;
String strDateFormat = "aaaa-MM-dd hh:mm:ss"; // Formato de la fecha
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
try {
// se comprueba el obj con la fecha más alta.
for (int i = 0; i < process.size(); i++) {
tv = process.get(i);
if(maxTv == null) {
maxTv = tv;
} else {
Date max = sdf.parse(maxTv.getRegistroModif());
Date current = sdf.parse(tv.getRegistroModif());
// El max es menor que el actual
if(max.compareTo(current) == 0) {
maxTv = tv;
}
}
}
} catch (Exception e) {
LOGGER.warn("******************");
LOGGER.warn("ERROR maxRegister()");
e.printStackTrace();
LOGGER.warn("******************");
}
return maxTv;
}
它在尝试执行时出错:
maxTv.getRegistroModif()
,我已经验证它有数据并且它们是2018-10-09 10:11:50
,错误是:java.text.ParseException:不可解析的日期,但之前我已经指定了格式: String strDateFormat = "aaaa-MM-dd hh:mm:ss";
//日期格式。谢谢!
简单地改变:
对于以下内容:
它应该工作。还要补充一点,如果您想知道它是否更大,请在有条件的情况下更改
==
by<
。