public class hello
{
public static void main(String[] args)
{
Object[] newarray = new Object[1];
Object[] obj = new Object[2];
obj[0] = "Number1"; //string value
obj[1] = "Number2"; //string value
newarray[0] = obj; //this works
Object[] tmp_obj = new Object[2];
tmp_obj = newarray[0]; //obviously does not work
System.out.println(tmp_obj[0]); //nope
System.out.println(tmp_obj[1]); //nope
}
}
所以,现在如果我想访问存储在obj [0]和obj [1]中的值“Number1”和“Number2”; obj在newarray [0] 。我该怎么办?
这可能吗?
由于
答案 0 :(得分:3)
你只需要演员:
tmp_obj = (Object[]) newarray[0];
那说,“我知道newarray [0]不仅仅是任何旧的对象 - 它是一个Object []”(模数阵差异;让我们把它留在这里。)
请注意,上一行中的new Object[2]
将是即时垃圾 - 代码会更好:
Object[] tmp_obj = (Object[]) newarray[0];