关于List子类调用subList(int from,int end)出现类型转换异常
来源:互联网 发布:万维网域名 编辑:程序博客网 时间:2024/05/21 17:32
在写文本聚类算法中发现List子类在调用subList(int from,int end)函数时出现java.lang.ClassCastException: java.util.SubList cannot be cast to java.util.LinkedList异常,遂将这部分功能提出出来做测试,测试代码如下:
public class TestJavaDemo{
public static void main(String[] args) {
LinkedList<Integer> list=new LinkedList<Integer>();
for(int i=0;i<10;i++){
list.add(i);
}
list=(LinkedList<Integer>) list.subList(0, 8);
for(int temp:list){
System.out.println(temp+"\t");
}
}
}
运行程序,出现以下异常:
java.lang.ClassCastException: java.util.SubList cannot be cast to java.util.LinkedList,本人以为LinkedList即是List子类,则应该可以调用该方法的啊,却出现这样的异常,遂上网寻找答案。原来subList函数返回的是List类型,强制转换的过程中,会随即的转换为其任意的一个子类,若转换成的子类不是LinkedList类型,则会出现上述的类型转换错误。所以在以为的强转过程中,尤须注意。
可以做如下修改:
//list=(LinkedList<Integer>) list.subList(0, 8);
-->修改为:List<Integer> listBuffer=list.subList(0, 8);
或者list=new LinkedList<Integer>(list.subList(0, 8));
public class TestJavaDemo{
}
运行程序,出现以下异常:
java.lang.ClassCastException: java.util.SubList cannot be cast to java.util.LinkedList,本人以为LinkedList即是List子类,则应该可以调用该方法的啊,却出现这样的异常,遂上网寻找答案。原来subList函数返回的是List类型,强制转换的过程中,会随即的转换为其任意的一个子类,若转换成的子类不是LinkedList类型,则会出现上述的类型转换错误。所以在以为的强转过程中,尤须注意。
可以做如下修改:
//list=(LinkedList<Integer>) list.subList(0, 8);
-->修改为:List<Integer> listBuffer=list.subList(0, 8);
或者list=new LinkedList<Integer>(list.subList(0, 8));
- 关于List子类调用subList(int from,int end)出现类型转换异常
- 关于List子类调用subList(int from,int end)出现类型转换异常
- 关于List子类调用subList(int from,int end)出现类型转换异常
- 关于List子类调用subList(int from,int end)出现类型转换异常
- 核心处理:使用List.subList(int start,int end);进行段位截取。 [java] view plain copy import java.util.ArrayList;
- list<string>转换成list<int>类型
- int ?类型转换成int类型
- 类型转换函数int()
- INT类型的转换
- EOS转换Int类型
- JAVA int 强制类型转换错误提示(Cannot cast from Object to int)
- JAVA int 强制类型转换错误提示(Cannot cast from Object to int)
- JAVA int 强制类型转换错误提示(Cannot cast from Object to int)
- 转换int型时防止出现异常用个默认值
- string类型转换int类型
- string类型转换int类型
- 类型转换:int.Parse、int.TryParse
- 类型转换 float与int ,(int&)a,(int)&a
- This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错误解决办法
- linux下启动mysql服务
- BigDecimal做除法时的一个异常
- SVN常用命令说明
- 关于List子类调用subList(int from,int end)出现类型转换异常
- 关于List子类调用subList(int from,int end)出现类型转换异常
- Apache ReWriteRule参数(转自博客园)
- Linux下解压打包命令
- centos增加一个用户并给普通用户赋予root权限的方法
- 对数字进行直接选择排序、冒泡排序
- C++中引用变量的探究
- 关于vs2005、vs2008和vs2010项目互转的总结
- 关于引用变量的生命周期如何影响对象的生命周期
- JavaScript(2)——模块模式