Подтвердить что ты не робот

Есть встроенный метод Java для размещения массива?

Есть ли стандартный метод, который я могу использовать вместо этого пользовательского метода?

public static Byte[] box(byte[] byteArray) {
    Byte[] box = new Byte[byteArray.length];
    for (int i = 0; i < box.length; i++) {
        box[i] = byteArray[i];
    }
    return box;
}
4b9b3361

Ответ 2

Введите Java 8, и вы можете сделать следующее (бокс):

int [] ints = ...
Integer[] boxedInts = IntStream.of(ints).boxed().toArray(Integer[]::new);

Однако это работает только для int[], long[] и double[]. Это не будет работать для byte[].

Вы также можете легко выполнить обратную (распаковку)

Integer [] boxedInts = ...
int [] ints = Stream.of(boxedInts).mapToInt(Integer::intValue).toArray();

Ответ 3

В дополнение к ответу YoYo вы можете сделать это для примитивного типа any; пусть primArray будет идентификатором типа PrimType[], тогда вы можете сделать следующее:

BoxedType[] boxedArray = IntStream.range(0, primArray.length).mapToObj(i -> primArray[i]).toArray(BoxedType[] :: new);