2013-05-19 2 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).

Но также: не изменить декларацию words быть ArrayList: 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). Обратите внимание, что они носят общий характер.

Просто исправить следующие:

List words= new List(); 

в

List<String> words= new ArrayList<String>(); 
Смежные вопросы