我是靠谱客的博主 深情外套,最近开发中收集的这篇文章主要介绍Java Object[] 向下强转的时候可能会发生异常,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

List<Long> longList = new ArrayList<>();
longList.add(1L);
Long[] longArrays = (Long[]) longList.toArray();        

比如说上面的代码执行的时候会发生异常:

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Long;

原因:其实这个错误不太明确,真正导致上面的强转发生异常的原因是,new ArrayList()创建的时候,有一个默认的初始长度,这个默认值是10;所以在toArray()创建新的数组的时候,会按照这个长度创建,但是其实longList中并没有10个数,这时就会导致上面的异常。这时候,我们需要自己定义一个长度跟源集合长度相同的数组穿进去就可以了,如下:

List<Long> longList = new ArrayList<>();
longList.add(1L);
Long[] longArrays = (Long[]) longList.toArray(new Long[longList.size()]);

转载于:https://my.oschina.net/u/1757225/blog/1506576

最后

以上就是深情外套为你收集整理的Java Object[] 向下强转的时候可能会发生异常的全部内容,希望文章能够帮你解决Java Object[] 向下强转的时候可能会发生异常所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部