2010-05-10 6 views
1
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 
    } 
} 

Итак, теперь, если я хочу, чтобы получить доступ к значениям «Number1» и «Number2», которые хранятся в OBJ [0] и OBJ [1 ]; obj - новый товар [0]. что мне делать?Поместите массив объектов в узлах другой массив объектов [JAVA]

Возможно ли это?

Благодаря

+0

Я не вижу проблемы с вашим кодом. tmp_obj = new_array [0] = obj – mdma

+0

@mdma Это был улов! Интересная проблема с простым решением :) – zengr

ответ

3

Вам просто нужно слепок:

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

Это говорит: "Я знаю, что newarray [0] это не просто старый объект - это объект []" (Modulo массив дисперсия, давайте оставим это здесь)

Обратите внимание, что new Object[2] от предыдущей строки будет мгновенным мусора - код будет лучше, так как:

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

Я думал, что это неявно бросает. – jonathanasdf

+1

@jonathanasdf: Неявный перевод из 'Object' в' Object [] '? Точно нет. –

+0

ах, я вижу сейчас. – jonathanasdf

Смежные вопросы