小编szu*_*ufi的帖子

不能转换为 [Ljava.lang.Comparable

所以我需要做动态有序列表。

    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)

java compareto

6
推荐指数
1
解决办法
9481
查看次数

覆盖compareTo(T t)

我做了一个名为"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)

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

java compareto treeset

2
推荐指数
1
解决办法
68
查看次数

标签 统计

compareto ×2

java ×2

treeset ×1