gpt4 book ai didi

java - 从 Object 类的对象访问整数

转载 作者:行者123 更新时间:2023-11-29 05:14:17 25 4
gpt4 key购买 nike

在下面的代码中,一个整数数组被分配给一个对象。如果可能的话,为什么我不能通过 obj 访问它们?代码编译,但我得到一个 ClassCastException,我尝试将对象转换为 String,我得到同样的错误

public class test
{ public static void main(String ab[])
{
Object obj = new int[] {1,2,3,4,5,6,7,8,9,10};
Integer[] i = (Integer[]) obj;
for( Integer c : i)
System.out.println(c);
}
}

最佳答案

int[]Integer[] 不同。

你创建了一个int[]:

Object obj = new int[] {1,2,3,4,5,6,7,8,9,10};

但是随后您尝试将其转换回 Integer[],您不能这样做,因为它是一个 int[]int[]Integer[] 都是 Object,但你不能像那样在两者之间转换,原因相同,例如,这不起作用:

Object obj = new String("");
File f = (File)obj; // obj is a String, will throw ClassCastException

相反,创建一个 Integer[] 开始于:

Object obj = new Integer[] {1,2,3,4,5,6,7,8,9,10};
Integer[] i = (Integer[]) obj;

或者使用int[]:

Object obj = new int[] {1,2,3,4,5,6,7,8,9,10};
int[] i = (int[]) obj;

int[] 转换为 String 的尝试也是如此。您不能仅通过在 Java 中转换它们来转换它们。

关于java - 从 Object 类的对象访问整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27141514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com