☕️ Java/기본

[JAVA] Stream의 toList()를 사용하여 ArrayList로 형변환할 때 발생하는 오류

말 랑 2021. 12. 16. 21:04
728x90

Stream의 toList()를 사용하여 ArrayList로 형변환할 때 아래 오류가 발생했다.

 

Exception in thread "main" java.lang.ClassCastException: 
class java.util.ImmutableCollections$ListN 
cannot be cast to class java.util.ArrayList 
(java.util.ImmutableCollections$ListN and java.util.ArrayList 
are in module java.base of loader 'bootstrap')

 

 

필자는 다음 코드에서 오류가 발생했다.

ArrayList<Integer> array = (ArrayList<Integer>) Arrays
                            .stream(br.readLine().split(" "))
                            .map(Integer::parseInt)
                            .toList();

 

 

 

해결

1

ArrayList<Integer> array = new ArrayList(
                Arrays.stream(br.readLine().split(" "))
                        .map(Integer::parseInt)
                        .toList());

 

2

ArrayList<Integer> array = (ArrayList<Integer>)Arrays
        .stream(br.readLine().split(" "))
        .map(Integer::parseInt)
        .collect(Collectors.toList());

 

 

 

 

 

📔 Reference

 

자바 개발자가 실수하는 10가지

어줍잖은 개발자 | 위 글은 Top 10 Mistakes Java Developers Make 의 번역입니다. 어줍잖은 개발자 - 승돌즈입니다. 오늘은 번역을 가져왔습니다. 이는 작년 연말에 인턴 근무 할 때, 번역 했던 내용입니

brunch.co.kr

 

 

728x90