覆盖compareTo(T t)

时间:2016-01-20 09:36:02

标签: java compareto treeset

我做了一个具有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}}

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

Comparable接口中的泛型类型代表将要比较的对象类型。

这是您的示例的正确用法:

public class People implements Comparable<People>

在这种情况下,方法签名将是

@Override
public int compareTo(People y) {
    if (this.name.equals(y.name))  { ...
}