Java 泛型错误绑定(bind)

标签 java generics comparable

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Collections;

public interface Comparable<T> {

int compareTo(T other);

}

public class Joueur implements Comparable<Joueur> {

private int points;
private int idJoueur;

public Joueur(int aIdJoueur, int aPoints)
{
    points= aPoints;
    idJoueur = aIdJoueur;
}

public Joueur(int aIdJoueur, int aPoints)
{
    points= aPoints;
    idJoueur = aIdJoueur;
}

public int getIdJoueur()
{
    return idJoueur;
}

public int compareTo(Joueur autre) {
    // TODO Auto-generated method stub
    if (points < autre.points) return -1;
    if (points > autre.points) return 1;
    return 0;
}

public class CollectionJoueur {

ArrayList<Joueur> j = new ArrayList<Joueur>();

public CollectionJoueur(int aIdJoueur, int aPoints)
{
    Joueur ajouterJ = new Joueur(aIdJoueur, aPoints);
    ajouter(ajouterJ);
}
public void ajouter(Joueur joueur)
{
    j.add(joueur);
}

public iterateurJoueur creerIterateur()
{
    Collections.sort(j);

    Iterator<Joueur> itrJoueur = j.iterator();
    while(itrJoueur.hasNext())
    {

    }
}

}

所以这是我的问题,我一直在尝试进行可比排序,但在集合排序中它给了我一个通用错误绑定(bind)的错误。我有一个类集合将播放器放入数组列表中,然后我必须按升序对它们进行排序。

最佳答案

您应该实现 java.lang.Comparable 接口(interface),而不是您自己的 Comparable 接口(interface)。

http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html

关于Java 泛型错误绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22234569/

相关文章:

typescript - 使用 TypeScript 泛型作为自己的参数,或将其指定为自己的默认参数

java - 为什么我们不能在每种情况下都只使用可比较的?

c# - 为什么这个 LINQ 抛出 "FormatException was unhandled"?

generics - 我可以有可选的特征界限吗?

java - 为什么 Arrays.sort 采用 Object[] 而不是 Comparable[]?

swift - 在 Swift 中比较枚举

java - 为什么我收到 IOException : PDF header signature not found when creating a PDF?

java - CustomDeserializer 没有默认(无参数)构造函数

java - 为什么这个 JSONObject 不是 JSONArray?

java - stub 的可执行 RMI JAR 文件 ClassNotFoundException