Java数组与列表转换的java.lang.ClassCastException

Exception in thread
"main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
[Ljava.lang.Integer;
at
com.bupt.acm.test.TestArrayList.main(TestArrayList.java:12)

ava.lang.ClassCastException是进行强制类型转换的时候产生的异常,强制类型转换的前提是父类引用指向的对象的类型是子类的时候才可以进行强制类型转换,如果父类引用指向的对象的类型不是子类的时候将产生java.lang.ClassCastException异常。

数据类型有子类向父类转换可以,但是父类向子类转化不可以;

编译期可以通过,但是运行时会检测出来


ArrayList<Integer> array=new ArrayList<Integer>();
Integer[] is=array.toCharArray();//会出现上面的异常情况
//

?




//更改方法是<br>Integer[] is=new Integer[array.size()];<br>is=array.toCharArray(is);

  

更改方法

Java数组与列表转换的java.lang.ClassCastException,布布扣,bubuko.com

时间: 2024-12-23 10:20:30

Java数组与列表转换的java.lang.ClassCastException的相关文章

Java中toArray的用法探究(java数组与list转换)

一.             Incident import Java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); String[] tt

Java 数组 使用arraycope复制数组 使用java工具类操作数组 操作二维数组 使用foreach操作数组

class arraycope { /** 目标数组必须有足够的空间来存放拷贝的元素 定义任意类型的数组元素拷贝操作,能支持任意类型的数组元素拷贝操作 */ public static void main(String[] args) { int[] src= new int[]{101,102,103,104,105,106}; int[] dest= new int[]{201,202,203,204,205,206,207}; //System.arraycopy(源数组,源数组拷贝起始位

把eclipse中一个java类型的项目转换成java web类型项目

解决步骤: 1.进入项目磁盘根目录下面找到.project文件打开: 2.找到文件中<natures>...</natures>这对标签: 3.在标签内追加上以下内容: <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>

比较Java数组,ArrayList,LinkedList,Vector 性能比较

public class PerformanceTester { public static final int TIMES=100000; public static abstract class Tester{ private String operation; public Tester(String operation){this.operation=operation;} public abstract void test(List<String> list); public Str

深入理解 Java 数组

目录   1. 简介  2. 声明数组  3. 创建数组  4. 访问数组  5. 数组的引用  6. 泛型和数组  7. 多维数组  8. Arrays 类  9. 小结  10. 参考资料 ?? 本文已归档到:「javacore」 ?? 本文中的示例代码已归档到:「javacore」 1. 简介 1.1. 数组的特性 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同.几乎所有程序设计语言都支持数组. 数组代表一系列对象或者基本数据类型,所有相同的类型

java数组学习

1. java数组的静态特性:          java是静态语言,java中数组的长度是固定的.还有,数组元素的类型也是在定义时指定了的. 2. java数组里的关键词:          数组变量 : 引用变量 , 不过这个引用的类型是数组类型.数组类型很奇特,不需要程序员来设计类的属性和方法,只要在已知的引用类型(类,接口,还有数组)后加一个[], JVM就自动生成了这样的新类型.         作为一个变量,它是存在于栈空间中的.不过由于其是一个引用变量,其所指向的内容(保存的值)是

java 数组操作实例

对于任何编程语言,数组都是必须掌握的知识点,本文章向大家介绍java数组的一些操作实例.感兴趣的朋友可以参考一下. Java数组排序及元素查找 Java数组添加元素 Java获取数组长度 Java数组反转 Java数组输出 Java数组获取最大和最小值 Java数组合并 Java数组填充 Java数组扩容 Java数组排序及查找 Java删除数组元素 Java数组差集 Java数组交集 Java在数组中查找指定元素 Java判断数组是否相等 Java数组并集

Java数组备忘录

前言 最近用Java做ACM题目的时候,经常忘记数组如何实现静态初始化,所以这里记录一下Java数组使用的常识. Java数组常识 数组在Java中是一个对象,数组实例需要通过new操作符进行创建. 常识知识: 数组大小可以通过Array.length获取. 数组索引起始为0,负数索引在Java中是无效的.并且,和C语言数组不同,Java中的数组会进行越界判断,无效的索引会抛出ArrayIndexOutOfBoundException. 数组存储在Java堆的连续内存空间. 数组是一个固定长度的

java中 列表,集合,数组之间的转换

List和Set都是接口,它们继承Collection(集合),集合里面任何数据类型都可以添加 List是有序的队列,可以用重复的元素:而Set是数学概念中的集合,不能有重复的元素. 数组 长度固定  可存储任何数据类型       集合 长度可变(包括:list,set)可存储任何数据类型 列表 list   有序   长度可变   元素可重复     集set  无序   长度可变   元素不可重复 将数组转化为一个列表时,程序员们经常这样做: String[] arr = {"a"