【发布时间】:2012-06-19 10:03:40
【问题描述】:
我有一个List,我正在尝试以两种不同的方式使用它...
private List<List<List<String>>> mListSelectedsWeekDAY;
// technique 1
for(int t = 0; t < mListSelectedsWeekDAY.get(0).get(0).size();t++){
...
}
// technique 2
List<String> tmpList = mListSelectedsWeekDAY.get(0).get(0);
我的列表是这样填充的......
mListSelectedsSDAY = new ArrayList<List<List<String>>>();
for (int i = 0; i < mListTimeBand.size(); i++) {
List<List<String>> tmp2 = new ArrayList<List<String>>();
for (int j = 0; j < mListTimeBand.get(i).getTimeBandDefList().getTimeBandDefini().size(); j++) {
List<String> tmp1 = new ArrayList<String>();
if (mListTimeBand.get(i).getTimeBandDefList().getTimeBandDefini().get(j).isAllSpecialDays()) {
for (int t = 0; t < mListSDayType.size(); t++) {
tmp1.add(mListSDayType.get(t).getSpecialDayName());
}
}
tmp2.add(tmp1);
}
mListSelectedsSDAY.add(tmp2);
}
但是我的代码总是给出以下错误...
java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.util.List
谁能帮我理解为什么会这样。
【问题讨论】:
-
我的盒子没有出现任何错误。请确保您以正确的方式声明
private List<List<List<String>>> mListSelectedsWeekDAY;。您能否展示更多您的代码,特别是关于您如何填充mListSelectedsWeekDAY?正如 Thilo 所说,编译器应该对你大喊大叫。 -
你有一个
String[]。反对类型注解。你是怎么把它列入清单的?某处应该有编译器警告。 -
向问题添加更多代码。我相信错误是在其他行提出的,而不是您的想法。
标签: java generics arraylist classcastexception