-
Java 배열을 List로 변경하는 방법자바 2021. 10. 17. 22:16
Java 배열 객체(int[], String[] 등)는 Arrays.asList() 메서드를 이용하면 List로 변경이 가능하다.
String[] stringArray = {"a", "b", "c"}; List<String> stringList = Arrays.asList(stringArray);
Arrays.asList()의 경우 return 타입이 java.util.Array.ArrayList로
java.util.ArrayList와는 다르며, immutable한 객체이다.
따라서 아래와 같이 java.util.ArrayList로 만들어주어야 한다.String[] stringArray = {"a", "b", "c"}; List<String> stringList = Arrays.asList(stringArray); ArrayList<String> stringArrayList = new ArrayList<>(stringList);
primitive 타입의 배열인 경우 Arrays.asList()를 사용하면 List<래퍼 클래스>로 받을 수 없다.
int[] intArray = {1, 2, 3}; // 컴파일 에러 // List<Integer> intList = Arrays.asList(intArray);
따라서 primitive 타입의 배열은 반복문을 이용하거나 stream을 이용한 박싱을 해야한다.
int[] intArray = {1, 2, 3}; ArrayList<Integer> intArrayList = new ArrayList<>(); for (int i : intArray) { intArrayList.add(i); } // 또는 intArrayList = Arrays.stream(intArray).boxed().collect(Collectors.toList()); // 또는 intArrayList = IntStream.of(intArray).boxed().collect(Collectors.toList());
'자바' 카테고리의 다른 글
[자바] JPA Entity 클래스에서 id를 Long 타입으로 해야하는 이유 (0) 2021.07.25