String 타입의 List를 배열로 변환할 때는 toArray()를 사용하면 변환할 수 있다.
하지만 int
형과 같은 primitive 타입
은 toArray()를 사용할 수 없다.
따라서 int형과 같은 primitive 타입은 아래의 방법을 통해 가능하다.
public static void main(String args[]) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
// 방법 1
int[] arr1 = new int[list.size()]
for (int i = 0 ; i < list.size() ; i++) {
arr1[i] = list.get(i).intValue();
}
// 방법 2
int[] arr2 = list.stream()
.mapToInt(i -> i)
.toArray();
// 방법 3
int[] arr3 = list.stream()
.mapToInt(Integer::intValue)
.toArray();
// 방법 4
int[] arr4 = list.stream()
.filter(i -> i != null)
.mapToInt(i -> i)
.toArray();
}