2
Я сделал класс «Люди», который имеет название строки. Теперь я хочу сравнить два объекта с помощью TreeSet.Overriding compareTo (T t)
public class People<T> implements Comparable<T> {
public TreeSet<People> treeSet;
public String name;
public People(String name)
{
treeSet = new TreeSet();
this.name = name;
}
.....
@Override
public int compareTo(T y) {
if(this.name.equals(y.name)) blablabla; //Here I get error
}
Ошибка:
Cannot find symbol
symbol: variable name;
location: variable y of type T
where T is a type variable
T extends Object declared in class OsobaSet
Кто-нибудь знает, как решить эту проблему?
Ничто не говорит компилятору, что тип _T_ имеет _NAME_ поле. – Berger
Я знаю и не знаю, как это исправить:/ – szufi
Я предполагаю, что это должно быть 'implements Comparable', потому что это то, что вы хотите сравнить. И тогда компилятор знает, что у людей есть поле «имя» ... –
Fildor