我试图将列表数据强制转换为字符串,但是它显示错误为java.lang.ClassCastException:java.lang.String无法强制转换为java.util.List 请帮我解决这个问题。这是使用hibernate完成的。
for(int i2=1; i2<=gantttablecolnameList.size(); ++i2)
{
columnname= (String) ((List)gantttablecolnameList.get(i1)).get(0);
}
此列表包含表格列名。
答案 0 :(得分:1)
如果您的List gantttablecolnameList
确实有String
,请尝试以下操作:
for(int i2=0; i2<gantttablecolnameList.size(); i2++)
{
columnname= (String) (gantttablecolnameList.get(i2));
}
你这样做:
(List)gantttablecolnameList.get(i1)
假设您的List gantttablecolnameList
包含String
,gantttablecolnameList.get(i1)
将为您提供Object
,该实际上是由运行时值指定的索引的String
实例i1
。所以,简而言之,你正在尝试这个:
(List)"someString";
这是不可能的。
答案 1 :(得分:0)
尝试
columnname= (String) ((List)gantttablecolnameList).get(0));
<{1>} (List)gantttablecolnameList.get(i1))
gantttablecolnameList.get(i1)
将为您提供元素..不在列表中。
但实际上你必须检查null条件。你现在是NUll PATTERN
答案 2 :(得分:0)
有几件事:
List <String>
,而不是现在的原始类型; 一旦处理完上述内容,您的代码将变得非常简单,以便让错误消失:
for (String columname : (List<String>) ganttablecolumnlist) ...