프로그래밍 언어/JAVA

목록 초기화 방법<String> Java의 개체?

Rateye 2021. 6. 22. 10:41
728x90
반응형
질문 : 목록 초기화 방법 Java의 개체?

다음 코드와 같이 목록을 초기화 할 수 없습니다.

List<String> supplierNames = new List<String>();
supplierNames.add("sup1");
supplierNames.add("sup2");
supplierNames.add("sup3");
System.out.println(supplierNames.get(1));

다음과 같은 오류가 발생합니다.

List<String> 유형을 인스턴스화 할 수 없습니다.

List<String> 어떻게 인스턴스화 할 수 있습니까?

답변

ListAPI 를 확인하면 다음과 같이 표시됩니다.

Interface List<E>

interface 라는 것은 인스턴스화 할 수 없음을 의미합니다 ( new List() 는 가능하지 않음).

해당 링크를 확인하면 List 를 구현하는 class 찾을 수 있습니다.

 

AbstractList , AbstractSequentialList , ArrayList , AttributeList , CopyOnWriteArrayList , LinkedList , RoleList , RoleUnresolvedList , Stack , Vector

그것들은 인스턴스화 될 수 있습니다. 그들의 링크를 사용하여 그들에 대해 더 많이 알 수 있습니다. IE : 어떤 것이 당신의 필요에 더 잘 맞는지 알 수 있습니다.

가장 일반적으로 사용되는 3 가지 방법은 다음과 같습니다.

 List<String> supplierNames1 = new ArrayList<String>();
 List<String> supplierNames2 = new LinkedList<String>();
 List<String> supplierNames3 = new Vector<String>();

보너스:
다음과 같이 Arrays class 사용하여보다 쉬운 방법으로 값으로 인스턴스화 할 수도 있습니다.

List<String> supplierNames = Arrays.asList("sup1", "sup2", "sup3");
System.out.println(supplierNames.get(1));

fixed-size 이므로 해당 목록에 더 많은 요소를 추가 할 수 없습니다.

출처 : https://stackoverflow.com/questions/13395114/how-to-initialize-liststring-object-in-java
728x90
반응형