gpt4 book ai didi

java - 在对象列表的 for 循环中使用 SimpleDateFormat

转载 作者:行者123 更新时间:2023-12-02 08:04:30 24 4
gpt4 key购买 nike

每当我尝试执行此操作时,我的应用程序就会崩溃:

for (CalendarEvent event : this.ListofEvents){

String myDate = new String(event.getDate());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
try {
theDate = format.parse(myDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

System.out.println(theDate.getDate());
}

如果我只是打印 event.getDate() 作为测试,它会显示所有日期。但是当我尝试格式化每个日期时,我假设它会锁定电话资源。这是一个相当大的列表,包含许多条目。

也许有一种更好的方法可以在不占用所有资源的情况下获取日、月和年。

最佳答案

为什么要在循环内创建 DateFormat?您创建它,使用它,然后它在下一次迭代中超出 GC 的范围。

将其移到循环之外:

DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
format.setLenient(false);
for (CalendarEvent event : this.ListofEvents){
// what does event.getDate() return? A java.util.Date? If yes, why are you doing this at all?
String myDate = new String(event.getDate());
try {
theDate = format.parse(myDate);
System.out.println(theDate.getDate());
} catch (ParseException e) {
e.printStackTrace();
}
}

关于java - 在对象列表的 for 循环中使用 SimpleDateFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8376392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com