`
minmai
  • 浏览: 29616 次
社区版块
存档分类
最新评论

关于List子类调用subList(int from,int end)出现类型转换异常

    博客分类:
  • java
阅读更多
在写文本聚类算法中发现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,;
        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,;
-->修改为:List<Integer> listBuffer=list.subList(0,;
或者list=new LinkedList<Integer>(list.subList(0,);
分享到:
评论

相关推荐

    java中利用List的subList方法实现对List分页(简单易学)

    在Java中,`List`接口提供了`subList(int fromIndex, int toIndex)`方法,用于返回列表的一个子列表,这个子列表是从`fromIndex`(包含)到`toIndex`(不包含)的元素。这意味着,你可以根据当前页数和每页的记录数...

    重写subList

    public List&lt;E&gt; subList(int fromIndex, int toIndex) ``` 这里的`fromIndex`和`toIndex`分别表示子列表的起始(包含)和结束(不包含)索引。`fromIndex`必须小于或等于`toIndex`,且两者都必须在合法的列表范围内...

    英语Sublist list1答案

    英语Sublist list1答案

    关于Java中List对象的分页思想-按10个或者n个数对list进行分组

    subList()方法可以将一个大的List对象分割成多个小的List对象,每个小的List对象包含一定数量的元素。例如,以下代码将一个大的List对象分割成多个小的List对象,每个小的List对象包含10个元素: ```java List...

    CSharp_List.zip_C# list_C#中list_C#中list的用法_C#怎么引用List_c# list

    List&lt;int&gt; subList = numbers.GetRange(1, 3); // 从索引1开始,取3个元素 ``` **12. 合并List&lt;T&gt;:** 通过`AddRange`方法可以将一个列表的元素添加到另一个列表: ```csharp List&lt;int&gt; otherNumbers = new List...

    Sublist3r-master.zip_master_sublist_sublist3r_zip

    sublist master exist git

    【Robotframework】列表List的常用操作.pdf

    如 `@{fromlist} Get Slice From List ${list} 1` 获取从索引1开始的子列表,而 `@{fromtolist} Get Slice From List ${list} 1 3` 获取从索引1到3(不包括3)的子列表。 4. **Remove Duplicates**: 去除列表中的...

    java的list取之方法

    然而,给出的部分内容却是一段关于导入Excel文件到Web应用中的代码片段,并没有直接涉及List的具体操作方法。因此,我们将结合标题与描述,围绕Java中List的相关知识点进行详细阐述。 ### Java中的List概述 在Java...

    list常用方法

    这里创建了一个基于`ArrayList`实现的`List`对象,其中`E`是泛型类型参数,表示`List`中存储元素的类型。 #### 2. 获取List大小 ```java int size = list.size(); ``` `size()`方法返回`List`中的元素数量,即`List...

    list嵌套list例子

    在Python编程语言中,列表(list)是一种非常重要的数据结构,它可以存储任意类型的对象,包括数字、字符串,甚至是其他列表。当我们谈论“list嵌套list”时,这意味着在一个列表内部包含了一个或多个列表,这样的...

    spring-boot List转Page的方法步骤

    Spring Boot 中 List 转 Page 的方法步骤详解... return new PageImpl(list.subList(start, end), pageable, list.size()); } ``` 通过这种方法,我们可以将任意的 List 转换为 Page,並且可以根据需要自定义分页信息。

    list遍历集合源码

    此外,List接口还有其他一些方法,如`contains(Object o)`用于判断List是否包含特定元素,`sort(Comparator&lt;? super E&gt; c)`用于排序元素,以及`subList(int fromIndex, int toIndex)`用于获取子列表等。这些方法的...

    LIStinterface.zip

    压缩包中的"LIStinterface"可能包含了如何创建和操作List接口实例的代码示例,也可能包括关于List接口和其实现类性能对比的讨论,以及如何根据特定需求选择合适List类型的方法。通过学习和理解这些内容,开发者可以...

    STL list链表用法详解

    std::list&lt;int&gt;::iterator pos = std::search(myList.begin(), myList.end(), subList.begin(), subList.end()); if (pos != myList.end()) { std::cout (myList.begin(), pos) ; } else { std::cout ; } ``` ###...

    java 面试题 答案

    题目要求理解方法覆盖时关于返回类型的规定。 **选项分析:** - **A. public int method** 正确。子类方法保持与父类方法相同的返回类型。 - **B. private int method** 错误。子类方法不能降低父类方法的访问权限...

    javaList的定义和方法

    - `List`接口还提供了一些其他的方法,如`contains()`, `indexOf()`, `subList()`等,用于查找、检查和操作列表的不同方面。 - 如果需要支持多选,可以使用`setMultipleMode(true)`,但请注意,不是所有的`List`实现...

    CoreJava面试技巧1.19.pdf

    - **删除子列表**:使用`List.subList(int fromIndex, int toIndex)`获取子列表,并调用`clear()`方法清空该子列表。 ```java list.subList(2, 6).clear(); ``` - **遍历删除元素**:为了防止并发修改异常,删除...

    Java 实例 - 数组转集合源代码-详细教程.zip

    List&lt;Integer&gt; intList = new ArrayList(Arrays.asList(intArray)); ``` 在上面的例子中,`Arrays.asList(intArray)`会将数组转换为一个不可变的列表,然后`new ArrayList(...)`创建了一个可变的`ArrayList`,并将...

    Collections & Generics in J2SE 1.5

    - `List subList(int from, int to)`:返回从from到to之间的子列表。 3. **Set和SortedSet接口**: - `Set`:这是一个不允许重复元素的集合。Set接口继承自Collection接口。 - `SortedSet`:这是一个维护元素...

Global site tag (gtag.js) - Google Analytics