我可以将List <date>转换为ArrayList <string>吗?

时间:2017-08-17 16:14:49

标签: android date arraylist

我有一个存储在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>? 我尝试了很多方法,但仍然有错误。

2 个答案:

答案 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()