在写文本聚类算法中发现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(int fromIndex, int toIndex)`方法,用于返回列表的一个子列表,这个子列表是从`fromIndex`(包含)到`toIndex`(不包含)的元素。这意味着,你可以根据当前页数和每页的记录数...
public List<E> subList(int fromIndex, int toIndex) ``` 这里的`fromIndex`和`toIndex`分别表示子列表的起始(包含)和结束(不包含)索引。`fromIndex`必须小于或等于`toIndex`,且两者都必须在合法的列表范围内...
英语Sublist list1答案
subList()方法可以将一个大的List对象分割成多个小的List对象,每个小的List对象包含一定数量的元素。例如,以下代码将一个大的List对象分割成多个小的List对象,每个小的List对象包含10个元素: ```java List...
List<int> subList = numbers.GetRange(1, 3); // 从索引1开始,取3个元素 ``` **12. 合并List<T>:** 通过`AddRange`方法可以将一个列表的元素添加到另一个列表: ```csharp List<int> otherNumbers = new List...
sublist master exist git
如 `@{fromlist} Get Slice From List ${list} 1` 获取从索引1开始的子列表,而 `@{fromtolist} Get Slice From List ${list} 1 3` 获取从索引1到3(不包括3)的子列表。 4. **Remove Duplicates**: 去除列表中的...
然而,给出的部分内容却是一段关于导入Excel文件到Web应用中的代码片段,并没有直接涉及List的具体操作方法。因此,我们将结合标题与描述,围绕Java中List的相关知识点进行详细阐述。 ### Java中的List概述 在Java...
这里创建了一个基于`ArrayList`实现的`List`对象,其中`E`是泛型类型参数,表示`List`中存储元素的类型。 #### 2. 获取List大小 ```java int size = list.size(); ``` `size()`方法返回`List`中的元素数量,即`List...
在Python编程语言中,列表(list)是一种非常重要的数据结构,它可以存储任意类型的对象,包括数字、字符串,甚至是其他列表。当我们谈论“list嵌套list”时,这意味着在一个列表内部包含了一个或多个列表,这样的...
Spring Boot 中 List 转 Page 的方法步骤详解... return new PageImpl(list.subList(start, end), pageable, list.size()); } ``` 通过这种方法,我们可以将任意的 List 转换为 Page,並且可以根据需要自定义分页信息。
此外,List接口还有其他一些方法,如`contains(Object o)`用于判断List是否包含特定元素,`sort(Comparator<? super E> c)`用于排序元素,以及`subList(int fromIndex, int toIndex)`用于获取子列表等。这些方法的...
压缩包中的"LIStinterface"可能包含了如何创建和操作List接口实例的代码示例,也可能包括关于List接口和其实现类性能对比的讨论,以及如何根据特定需求选择合适List类型的方法。通过学习和理解这些内容,开发者可以...
std::list<int>::iterator pos = std::search(myList.begin(), myList.end(), subList.begin(), subList.end()); if (pos != myList.end()) { std::cout (myList.begin(), pos) ; } else { std::cout ; } ``` ###...
题目要求理解方法覆盖时关于返回类型的规定。 **选项分析:** - **A. public int method** 正确。子类方法保持与父类方法相同的返回类型。 - **B. private int method** 错误。子类方法不能降低父类方法的访问权限...
- `List`接口还提供了一些其他的方法,如`contains()`, `indexOf()`, `subList()`等,用于查找、检查和操作列表的不同方面。 - 如果需要支持多选,可以使用`setMultipleMode(true)`,但请注意,不是所有的`List`实现...
- **删除子列表**:使用`List.subList(int fromIndex, int toIndex)`获取子列表,并调用`clear()`方法清空该子列表。 ```java list.subList(2, 6).clear(); ``` - **遍历删除元素**:为了防止并发修改异常,删除...
List<Integer> intList = new ArrayList(Arrays.asList(intArray)); ``` 在上面的例子中,`Arrays.asList(intArray)`会将数组转换为一个不可变的列表,然后`new ArrayList(...)`创建了一个可变的`ArrayList`,并将...
- `List subList(int from, int to)`:返回从from到to之间的子列表。 3. **Set和SortedSet接口**: - `Set`:这是一个不允许重复元素的集合。Set接口继承自Collection接口。 - `SortedSet`:这是一个维护元素...