-1

我有一个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).isAllSpeci‌​alDays()) { 
            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

有人可以帮我理解为什么会这样。

4

2 回答 2

-1

一种可能的情况是,在您的一系列 Get 方法()中,您正在继续获取字符串并将其分配给 List 变量。

于 2012-06-19T10:21:54.600 回答
-1

你实际上有一个List<List<String>>,而不是一个List<List<List<String>>>

您必须在List某处使用原始类型才能发生这种情况

于 2012-06-20T01:28:07.027 回答