Java files d'attente de priorité et de l'interface comparable

Je viens tout juste d'apprendre à propos de la priorité des files d'attente et j'ai pensé essayer de comment il se comporte avec interface comparable.

Extrait De Code:

import java.util.PriorityQueue;

class kinga implements Comparable<Double> {
    double time=909.909;
    double d;

    public kinga(double a) {  
        this.d=a;
    }

    public int compareTo(Double d) {
        return Double.compare(d, time);
    }

    public static void main(String arg[]) {
        PriorityQueue<kinga> r=new PriorityQueue<kinga>();

        r.add( new kinga(4545.45));
        r.add( new kinga(45.4));
        r.add( new kinga(1235.45));

        System.out.println(r.poll()+" "+r.poll()+" "+r.poll());
    }
}

Il compile, mais me donne l'Exception dans thread "main" java.lang.ClassCastException: kinga cannot be cast to java.lang.Double.

Quel est le problème ici. Quelqu'un peut-il me dire comment comparables, et les files d'attente de priorité de travail?

voir ma réponse pour la modification du code et de sortie pour la même chose.

OriginalL'auteur JohnnyHunter | 2013-08-21