. Я знаю, что есть количество похожих сообщений. Ошибка, как я понимаю, означает, что я должен быть более конкретным с типами. Мой код:непроверенные или небезопасные операции. Перекомпиляция с -xlint: непроверенная для получения более подробной информации.
import java.util.*;
public class Storefront {
private LinkedList<Item> catalog = new LinkedList<Item>();
public void addItem(String id, String name, String price, String quant) {
Item it = new Item(id, name, price, quant);
catalog.add(it);
}
public Item getItem(int i) {
return (Item)catalog.get(i);
}
public int getSize() {
return catalog.size();
}
//@SuppressWarnings("unchecked")
public void sort() {
Collections.sort(catalog);
}
}
Однако я указать, что LinkedList
состоит из объектов типа Item
. Когда я скомпилировать его с -xlint, я получаю
warning: unchecked method invocation: method sort in class
Collections is applied to given types
Collections.sort(catalog);
required: List'<'T'>'
found: LinkedList'<'Item'>'
where T is a type-variable:
T extends Comparable'<'? super T'>' declared in method
'<'T'>'sort'<'List'<'T'>'>
Как я понимаю, LinkedList
реализует List
и Item
реализует Comparable
. Итак, не «требуется» и «найдено» одинаково?
Также я проверял, действительно ли catalog.get(i);
является предметом (как говорят некоторые из них, возможно, это вызвало проблему), но это привело к той же ошибке.
Боковой комментарий: Вы не должны бросание в 'возврата (п) catalog.get (I),' – assylias