我有一个列表转换为字符串数组。在数组的索引 0 处,我分配了字符串“Select a value”
。现在,当我迭代字符串数组时,第一个元素将被我指定为“选择一个值”的值覆盖。
下面是代码:
List<LocalDate> localDatesList = new ArrayList<LocalDate>();
localDatesList.add(new LocalDate());
localDatesList.add(new LocalDate().plusDays(1));
localDatesList.add(new LocalDate().plusDays(2));
localDatesList.add(new LocalDate().plusMonths(1));
localDatesList.add(new LocalDate().plusMonths(2));
List<String> tempDatesList = new ArrayList(localDatesList.size());
for (LocalDate date : localDatesList) {
tempDatesList.add(date.toString());
}
String[] formattedDates = tempDatesList.toArray(new String[localDatesList.size()]);
formattedDates[0]="Select a value";
for (String dates : formattedDates) {
System.out.println(dates);
}
输出:
2016-10-14
2016-10-15
2016-11-13
2016-12-13
我尝试将大小增加 1,但在最后一个索引处添加了 null
,并且它没有显示当前日期(我在列表中添加的第一个元素)。
请建议我缺少什么,如何在索引零或列表中的第一个元素处添加值“选择值”
。当我添加 formattedDates[0]="Select a value"
时,列表中缺少第一个元素。
最佳答案
您正在覆盖这一行中的第一个元素:
formattedDates[0]="Select a value";
像这样更改代码并在循环之前添加“选择值”:
List<LocalDate> localDatesList = new ArrayList<LocalDate>();
localDatesList.add(new LocalDate());
localDatesList.add(new LocalDate().plusDays(1));
localDatesList.add(new LocalDate().plusDays(2));
localDatesList.add(new LocalDate().plusMonths(1));
localDatesList.add(new LocalDate().plusMonths(2));
List<String> tempDatesList = new ArrayList(localDatesList.size());
tempDatesList.add("Select a value");
for (LocalDate date : localDatesList) {
tempDatesList.add(date.toString());
}
String[] formattedDates = tempDatesList.toArray(new String[localDatesList.size()]);
for (String dates : formattedDates) {
System.out.println(dates);
}
关于java - java.util.List 中的第一个元素被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40013401/