Arrays.asList() 주의할 부분

jay·2022년 8월 11일
0

학습리뷰

목록 보기
7/7
post-thumbnail

배열 arr을 list로 만들 때 아래와 같이 하면 될 것 같은데,

List<String> list = Arrays.asList(arr);

그러나 asList로 바로 리스트에 넣으면 만들면 사이즈를 바꿀 수 없다.

Arrays.asList()는 Arrays의 private 정적 클래스인 ArrayList를 리턴하는데 이것은 java.util.ArrayList 클래스와는 다른 클래스로java.util.Arrays.ArrayList 클래스는 set(), get(), contains() 메서드를 가지고 있지만 원소를 추가하는 메서드는 가지고 있지 않기 때문인데,

이로 인해 추가가 아닌 수정하는 경우에도 원본이 변경되는 문제가 발생하게 되므로 아래와 같이 새로 만들어서 넣어줘야 원하는 Collection의 기능을 사용할 수 있게 된다.

List<String> list = new ArrayList<String>(Arrays.asList(arr));

참고

profile
It's not magic, it's talent and sweat. Bertram Gilfoyle.

0개의 댓글

관련 채용 정보