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
视为的数组Object
。Integer[]
是的子类型,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