영보의 SystemOut.log

[Java]UnsupportedOperationException 에러 본문

Language/JAVA

[Java]UnsupportedOperationException 에러

영보로그 2021. 5. 18. 09:52
반응형

 

 UnsupportedOperationException 

 

아래와 같이 코드를 작성했더니 java.lang.UnsupportedOperationException 에러가 발생했다.

구글링을 해보니 Array.asList 로 생성한 리스트는 고정되어 있어 원소를 제거 할 수 없다고 한다.

List<MultipartFile> fileList = new ArrayList<MultipartFile>();
List<MultipartFile> upfileList = getFiles(request, "upfile");
List<MultipartFile> thumbnailList = getFiles(request, "thumbnail");

 

 

 

 

 변경 후 코드

 

List<MultipartFile> fileList = new ArrayList<MultipartFile>();
List<MultipartFile> upfileList = new ArrayList<MultipartFile>();
upfileList.addAll(getFiles(request, "upfile"));
List<MultipartFile> thumbnailList = getFiles(request, "thumbnail");

위와 같이 new ArrayList<>() 로 코드를 감싸서 리스트를 생성해야 리스트 원소 삭제도 가능하고 정상적으로 실행된다. 

 

 

 

참고

https://stackoverflow.com/questions/43020075/java-util-arrays-aslist-when-used-with-removeif-throws-unsupportedoperationexcep

반응형