所以我需要做动态有序列表。
public class DynArrayListOrd<T extends Comparable<T>> {
private T[] tab ;
public DynArrayListOrd()
{
tab = (T[])new Object[startSize];
}
....
main {
DynArrayListOrd tab = new DynArrayListOrd();
tab.add("John");
tab.add("Steve");
}
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,出现错误:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Comparable;
at structures.DynArrayListOrd.<init>(DynArrayListOrd.java:14)
at structures.DynamicArrayAppp.main(DynArrayListOrd.java:119)
Run Code Online (Sandbox Code Playgroud) 我做了一个名为"People"的类,它有一个String名称.现在我想使用TreeSet比较两个对象.
public class People<T> implements Comparable<T> {
public TreeSet<People> treeSet;
public String name;
public People(String name)
{
treeSet = new TreeSet();
this.name = name;
}
Run Code Online (Sandbox Code Playgroud)
.....
@Override
public int compareTo(T y) {
if(this.name.equals(y.name)) blablabla; //Here I get error
}
Run Code Online (Sandbox Code Playgroud)
错误:
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
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?