将一个对象数组放在另一个对象数组的节点中[JAVA]

时间:2010-05-10 22:48:28

标签: java arrays

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] 。我该怎么办?

这可能吗?

由于

1 个答案:

答案 0 :(得分:3)

你只需要演员:

tmp_obj = (Object[]) newarray[0];

那说,“我知道newarray [0]不仅仅是任何旧的对象 - 它是一个Object []”(模数阵差异;让我们把它留在这里。)

请注意,上一行中的new Object[2]将是即时垃圾 - 代码会更好:

Object[] tmp_obj = (Object[]) newarray[0];