Java: Существуют ли квазистандартные API, которые делают int [] <-> Integer [] и подобные? - PullRequest
2 голосов
/ 12 февраля 2010

Мне нужно сделать много преобразований между primitivetype[] и boxedtype[] (в обоих направлениях).
Например: Integer[] <-> int[], Double[] <-> double[], ...

Я хотел бы знать, есть ли какие-нибудь API-интерфейсы для квази-стандартов, которые предоставляют такую ​​функциональность, прежде чем я сам напишу такие служебные методы.

Java имеет 8 примитивных типов , так что это будет довольно (копировать-вставить) работа ...

Спасибо.

Ответы [ 2 ]

3 голосов
/ 12 февраля 2010

ArrayUtils

ArrayUtils.toObject( primitive[] )

и

ArrayUtil.toPrimitive( wrapper[] )

0 голосов
/ 13 февраля 2010

В последнее время я написал библиотеку LGPL3 , поэтому она не является ни стандартной, ни широко распространенной, которая пытается решить эти проблемы:

Integer[] boxed = ... ;
int[] primitive = $(boxed).toIntArray();

и наоборот:

* +1007 *

Но я надеюсь, что вы по достоинству оцените некоторые дополнительные функции, такие как кастинг:

byte[] bytes = ...;
int[] ints = $(bytes).toIntArray();
short[] shorts = $(bytes).toShortArray();
...