Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljav
2017-09-10 22:07
671 查看
错误信息:”Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;
这个异常是下面的代码抛出的: List<Integer> list = new ArrayList<Integer>();
Integer[] array = (Integer[])list.toArray();这个类型转换看上去好像很对,也不会有编译错误。
但是实际上是错误的,因为list.toArray返回类型是Object[],而Integer[]不是Object[]的子类,虽然Integer是Object的子类,所以不能进行强制转换。
正确的做法应该是这样的: List<Integer> list = new ArrayList<Integer>();
Integer[] array = new Integer[1];
array = list.toArray(array);把数组类型传入toArray方法,通过反射获得参数类型,在方法内部进行转换。
这个异常是下面的代码抛出的: List<Integer> list = new ArrayList<Integer>();
Integer[] array = (Integer[])list.toArray();这个类型转换看上去好像很对,也不会有编译错误。
但是实际上是错误的,因为list.toArray返回类型是Object[],而Integer[]不是Object[]的子类,虽然Integer是Object的子类,所以不能进行强制转换。
正确的做法应该是这样的: List<Integer> list = new ArrayList<Integer>();
Integer[] array = new Integer[1];
array = list.toArray(array);把数组类型传入toArray方法,通过反射获得参数类型,在方法内部进行转换。
相关文章推荐
- Exception in thread "main" java.lang.ClassCastException: java.math.BigDecimal cannot be cast to ja
- Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lan
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to ]
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.String
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 问题
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- 错误:java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.String
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.util.Map
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to XXX解决
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- Exception in thread "main" java.lang.IllegalArgumentException: node to traverse cannot be null!
- 十、java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to xxx.action.entity.Category
- java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.Object;
- unexpected token: * 和 java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 解决办法
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- Hibernate出现java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.user
- 关于java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.Object的错误报告