我有一个存储在List<Date>
中的日期列表,并从方法getDates中获取数据。现在我想将其转换为ArrayList<String>
,但我收到了这个错误:
ArrayList不能应用于java.util.List。
因为我想从List更改日期的格式。我试过这个Convert ArrayList of String type into Date type? 并转换日期,第一个日期必须存储为字符串,但我的情况下我的日期存储在列表中。问题是,我仍然无法将List转换为字符串。
这是我的代码:
List<Date> dates = getDates(date1, date2);
ArrayList<String> dateStringList = new ArrayList<>();
dateStringList.add(dates);
有没有办法将List<Date>
中的数据转换为ArrayList<String>
?
我尝试了很多方法,但仍然有错误。
答案 0 :(得分:0)
如果您使用jack或JaCoCo(here了解更多信息),那么您可以使用lambda和stream!
List<Date> myVarList = Arrays.asList(new Date(), new Date(), new Date(), new Date());
List<String> myVarListString = new ArrayList<>();
myVarListString.addAll(myVarList.stream().map(x -> x.toString()).collect(Collectors.toList()));
System.out.println(myVarListString);
System.out.println(myVarList);
答案 1 :(得分:-1)
你应该使用增强的for循环来实现它,如下所示:
DrawingVisual visual = new DrawingVisual();
RenderTargetBitmap target = new RenderTargetBitmap(certBg.PixelWidth, certBg.PixelHeight, 96, 96, PixelFormats.Default);
target.Render(visual);
Image img = new Image();
img.Source = target;
在上面的代码中,我们实际循环List<Date> dates = getDates(date1, date2);
List<String> dateStringList = new ArrayList<>();
for (Date date : dates) {
String dateStr = String.valueOf(date);
dateListString.add(dateStr);
}
列表中的每个日期,将它们转换为String,并将它们添加到dates
列表中。
如果您需要特定格式的dateString,则应在更改为必要格式时使用以下方法:
dateListString
在public static String dateToString(Date date) {
String convertedDate = "";
try {
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
convertedDate = dateFormat.format(date);
} catch (Exception e) {
e.printStackTrace();
Log.e("dateToString_EX", e + "");
}
return convertedDate;
}
循环中调用它如下:
for()