Java将对象数组转换为整数数组错误

以下代码有什么问题?

Object[] a = new Object[1];

Integer b=1;

a[0]=b;

Integer[] c = (Integer[]) a;

该代码在最后一行有以下错误:

线程“主”中的异常java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为[Ljava.lang.Integer;

回答:

可以使用Arrays.copyof()Arrays.copyOfRange()

Integer[] integerArray = Arrays.copyOf(a, a.length, Integer[].class);

Integer[] integerArray = Arrays.copyOfRange(a, 0, a.length, Integer[].class);

在这里点击的原因ClassCastException是你不能将的数组Integer视为的数组ObjectInteger[]是的子类型,Object[]Object[]不是的子类型Integer[]

并且以下内容也不会给出ClassCastException

Object[] a = new Integer[1];

Integer b=1;

a[0]=b;

Integer[] c = (Integer[]) a;

以上是 Java将对象数组转换为整数数组错误 的全部内容, 来源链接: utcz.com/qa/419724.html

回到顶部