Hallo,
ich verstehe nicht wieso hier ein Laufzeitfehler kommt.
Der Code:
Die Exception:
Kann mir das jemand erklären?
LG
ich verstehe nicht wieso hier ein Laufzeitfehler kommt.
Der Code:
Java:
import java.util.*;
public class Pair<X extends Comparable<X>,Y> {
public X first;
public Y second;
public Pair() {
}
public Pair(X x, Y y) {
first = x;
second = y;
}
public int compareTo(Pair<X,Y> p) {
return first.compareTo(p.first);
}
public static void main(String[] args) {
TreeSet<Pair<Integer,Integer>> ts = new TreeSet<Pair<Integer,Integer>>();
Pair<Integer,Integer> p1 = new Pair<Integer,Integer>(1,2);
ts.add(p1);
System.out.println(ts.toString());
}
}
Die Exception:
Java:
Exception in thread "main" java.lang.ClassCastException: Pair cannot be cast to java.lang.Comparable
at java.util.TreeMap.compare(TreeMap.java:1294)
at java.util.TreeMap.put(TreeMap.java:538)
at java.util.TreeSet.add(TreeSet.java:255)
at Pair.main(Pair.java:24)
Kann mir das jemand erklären?
LG