개발/Java

[Java] java.lang.UnsupportedOperationException

Floodnut 2021. 11. 20. 22:36

안드로이드 앱 개발 중 에러가 발생해서 찾아보았다.

 

Array를 List로 변환할 때 생기는 에러라고 한다.

 

아래 코드에서 처럼 Arrays.asList(배열명)를 사용해서 리스트로 변환하고 변수에 할당하면

그 변수는 수정할 수 없다고 한다.

 

따라서 생성자를 통해 변환해주는 것으로 해결했다.

 

//String 배열 선언
String[] localNodes;
...

//변환 전
arrayList = new ArrayList<String>();
list = Arrays.asList(localNodes);
arrayList.addAll(list);

//변환 후
//Array -> List를 asList 변환 시, 아래와 같이로 선언해야 수정가능.
arrayList = new ArrayList<String>();
list = new ArrayList<>(Arrays.asList(localNodes));
arrayList.addAll(list);