반응형

The method asList(Object[]) in the type Arrays is not applicable for the arguments (String) 문제가 발생했다. 이 문제는 는 아래의 코드처럼, List에 값을 넣은 상태에서 선언을 하고 싶어 아래와 같이 했는데 당연 안된다.

List<String> YNList = new ArrayList<>(Arrays.asList("a", "b", "c"));

 

이 문제를 해결하는 방법은 여러 방법이 있는데, 가장 많이 쓰는 방법은 아래와 같다.

List<String> YNList = new ArrayList<>(Arrays.asList(new String[] {"abc", "cd"}));

 

위의 코드처럼, new ArrayList<> 안에 Arrays.asList를 넣고 그 안에 String형 배열을 만들어주면 된다.

위의 코드를 좀 더 깔끔하게 쓰고 싶으면 아래처럼 하면 된다.

String[] arr = {"abc", "cd"};
List<String> YNList = new ArrayList<>(Arrays.asList(arr));

 

Arrays.asList안에 위에서 선언한 arr 배열을 넣어주기만 하면 된다.

 

List<String> YNList = new ArrayList<>(Arrays.asList("a", "b", "c"));

위의 코드는 JDK 5 버전 이상에서만 사용할 수 있다. 지금 프로젝트에서는 JDK 1.8 버전을 사용하고 있기 때문에 위의 코드는 돌아가지 않는다.

 

결론으로, List에 값을 넣고 선언하려면 아래처럼 코드를 넣으면 된다.

List<String> YNList = new ArrayList<>(Arrays.asList(new String[] {"abc", "cd"}));
String[] arr = {"abc", "cd"};
List<String> YNList = new ArrayList<>(Arrays.asList(arr));
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기