2013-04-22 4 views
0

I Определите ArrayList, как показано ниже;Double ArrayList с добавлением двойного массива

static ArrayList<Double[]> aryList1 = new ArrayList<Double[]>(); 

и я хотел бы добавить это в ArrayList

double[] a = new double[]{0.1,0.2}; 
arylist1.add(a); 

но показать ошибку в

arylist1.add(a) 

... добавить не может быть применен к двойной ArrayList.

+1

'double []! = Double []' – jlordo

+0

arylist1.add (a) должен быть aryList1.add (a). –

+0

авто-бокс здесь не существует, поскольку вы, возможно, подумали, что это потому, что 'double []' является ссылочным типом, и поэтому вы не можете ожидать никакого автобокса здесь – Anirudha

ответ

6

Попробуйте использовать капитал D для двойного использования, например. Double[] a = new Double[]{0.1,0.2};

Вы пытаетесь добавить строчные double который является примитивным типа к ArrayList, который вы определили как Double, который является оберткой объекта.

+2

Вы определенно можете добавить 'double [] 'в' Список '. – jlordo

+0

к списку да, но не к списку WereWolfBoy

3

Double является класс в то время как double является примитивным.

У вас есть static ArrayList<Double[]> aryList1 = new ArrayList<Double[]>();, у которого есть Double[], а не double[]. Таким образом, вы должны:

Double[] a = new Double[]{0.1,0.2}; 

Или, вы можете изменить декларации к:

static ArrayList<double[]> aryList1 = new ArrayList<double[]>(); 

Другая ошибка у вас есть:

arylist1.add(a) должен быть aryList1.add(a) (Java чувствителен к регистру).

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