2013-05-19 3 views
0

나는 목록을 알파벳순으로 프로그램을 만드는 노력은, Collections.sort 방법과 java.util.List를 사용하고, 오류는 다음과 같습니다 1 오류 15 경고가 발견Java에서 오류 번호 및 경고 - 경고 및 경고?

Error: java.util.List is abstract; cannot be instantiated 
-------------- 
** Warnings ** 
-------------- 
Warning: unchecked call to add(E) as a member of the raw type java.util.List 
Warning: unchecked method invocation: method sort in class java.util.Collections is applied to given types 
    required: java.util.List<T> 
    found: java.util.List 

내 코드 :

public static void preset(){ 
    List words= new List(); 
    words.add("apple"); 
    words.add("country"); 
    words.add("couch"); 
    words.add("shoe"); 
    words.add("school"); 
    words.add("computer"); 
    words.add("yesterday"); 
    words.add("wowza"); 
    words.add("happy"); 
    words.add("tomorrow"); 
    words.add("today"); 
    words.add("research"); 
    words.add("project"); 
    Collections.sort(words); 




    } //end of method preset 

답변

1

오류와 마찬가지로 List은 추상적이기 때문에 구체적인 구현이 필요합니다. 게시 한 경우 ArrayList을 입력하십시오.

또한 원시 유형으로 List을 사용하고 있습니다. Java 5 이전 버전을 사용하지 않는 한 그렇게하지 마십시오. 형식 매개 변수 (여기, String)로 매개 변수화하십시오. 그러나 또한

는 : ArrayListwords의 선언을 변경하지 마십시오 : List는 (일반적으로) 충분하고, 변경을 왼쪽으로, 당신이 나중에 구현을 변경할 수있는 능력을 얻을 수 있습니다. 결론적으로

:

List<String> words= new ArrayList<String>(); 

또는 Java 7을 사용하는 경우

:

List<String> words= new ArrayList<>(); 
+0

감사하며, 내가 어떻게이 새로운 정렬 된 목록을 인쇄하는 방법 :

그냥 다음과 같은 문제를 해결? 메인의 메서드를 호출하여 인쇄하려고했지만 작동하지 않습니다. – user2399999

+0

어떻게 작동하지 않는지 게시 할 수 있습니까? System.out.println (단어)로 충분해야합니다. –

0

당신은 java.util.List을 인스턴스화 할 수 있지만, 일부 구현입니다. 좋아요 (예 : java.util.ArrayList). 그것들은 Generic입니다. 작동

List words= new List(); 

List<String> words= new ArrayList<String>();