Как преобразовать список ArrayListlist = new ArrayList<>() в массив byte[]?

Такой вариант знаю:

ArrayListlist = new ArrayList<>();

byte[] bytes = new byte[list.size()];

   for (int i = 0; i < list.size(); i++) {
        bytes[i] = list.get(i);
    }

Есть какие -то более короткие и удобные варианты???


Ответы (1 шт):

Автор решения: Сергей Бувака

Если почитать в документации , то можно найти вот таких 2 метода

public Object[] toArray();

public <T> T[] toArray(T[] a);

Можете использовать любой из них.

public class ArrayListExample 
{
    public static void main(String[] args) 
    {
        ArrayList<String> list = new ArrayList<>(2);

        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");

        //Convert to object array
        Object[] array = list.toArray();

        System.out.println( Arrays.toString(array) );

        //Iterate and convert to desired type
        for(Object o : array) {
            String s = (String) o;

            System.out.println(s);
        }
    }
}
→ Ссылка