我做了一个具有String名称的“People”类。 现在我想使用TreeSet比较两个对象。
@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
错误:
{{1}}
有谁知道如何解决这个问题?
答案 0 :(得分:5)
Comparable
接口中的泛型类型代表将要比较的对象类型。
这是您的示例的正确用法:
public class People implements Comparable<People>
在这种情况下,方法签名将是
@Override
public int compareTo(People y) {
if (this.name.equals(y.name)) { ...
}