Как преобразовать список 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);
}
}
}