Java 将LocalDate列表保存到数组[][]
我想将列表中的日期保存到数组[] 我的名单是Java 将LocalDate列表保存到数组[][],java,arrays,list,Java,Arrays,List,我想将列表中的日期保存到数组[] 我的名单是 List<LocalDate> dates = getWeekendDates (new LocalDate(year, month, (day+2)), new LocalDate((year+1), nymonth ,nyday)); private static List<LocalDate> getWeekendDates (LocalDate start, LocalDate end) {
List<LocalDate> dates = getWeekendDates
(new LocalDate(year, month, (day+2)), new LocalDate((year+1), nymonth ,nyday));
private static List<LocalDate> getWeekendDates
(LocalDate start, LocalDate end)
{
List<LocalDate> result = new ArrayList<LocalDate>();
for (LocalDate date = start;
date.isBefore(end);
date = date.plusDays(1))
{
int day = date.getDayOfWeek();
// These could be passed in...
if (day == DateTimeConstants.SUNDAY)
{
result.add(date);
}
}
return result;
}
这是错误输出:
Exception in thread "main" java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.ArrayList.toArray(Unknown Source)
at Test.main(Test.java:27)
第27行是
String[]SundayArray=dates.toArray(新字符串[dates.size()])代码>我猜您的错误出现在这行:
String[][] SundayArray = dates.toArray(new String[dates.size()]);
您为该方法提供了一个一维数组(newstring[dates.size()]
),并尝试将其设置为二维数组(String[]]SundayArray
)
您还试图将列表
隐式转换为字符串[]
,这是不可能的。当您尝试将LocalDate存储在字符串中时,就会出现ArrayStoreException。您将需要更多类似于:
List<String> temp = new ArrayList(dates.size());
for (LocalDate date : dates) {
temp.add(date.toString()); //toString() or the appropriate method
}
String[] SundayArray = temp.toArray(new String[dates.size()]);
List temp=newarraylist(dates.size());
对于(本地日期:日期){
temp.add(date.toString());//toString()或适当的方法
}
String[]SundayArray=temp.toArray(新字符串[dates.size()]);
一维列表不能进入二维数组。在[5][1]处,您期望得到什么?即使您将字符串[]SundayArray=dates.toArray(新字符串[dates.size()]);这是错误输出:线程“main”中的异常java.lang.ArrayStoreException位于java.lang.System.arraycopy(本机方法)位于java.util.ArrayList.toArray(未知源代码)位于Test.main(Test.java:27)非常感谢!如果我想把它放到一个数组中,第一列是二维的;如果需要,可以使用新建字符串[]{date.toString(),“”
,而不是date.toString()
,并将temp设置为列表
。
List<String> temp = new ArrayList(dates.size());
for (LocalDate date : dates) {
temp.add(date.toString()); //toString() or the appropriate method
}
String[] SundayArray = temp.toArray(new String[dates.size()]);