Witam
Mam mały problem z ogarnięciem kolekcji. Napisalem mały "program" aby zobaczyć jak to wszystko działa, jednak po dobrnięciu do linii z sorter.add(pierwsze) wywala mi błąd ClassCastException. Eclipse wyświetla taki oto komuniakt:
Exception in thread "main" java.lang.ClassCastException: Dane cannot be cast to java.lang.Comparable
at java.util.TreeMap.compare(Unknown Source)
at java.util.TreeMap.put(Unknown Source)
at java.util.TreeSet.add(Unknown Source)
at LLL.main(LinkedListTest.java:31)
Jak się tego pozbyć ? Kod poniżej:
public class LLL
{
@SuppressWarnings("unchecked")
public static void main(String[] args)
{
StreamTokenizer st= new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
PrintWriter wyj= new PrintWriter(System.out);
String nazwisko="";
String imie="";
wyj.printf("Podaj nazwisko i imie ").flush();
try {
st.nextToken();
nazwisko=st.sval;
st.nextToken();
imie=st.sval;
}catch (IOException e){
e.printStackTrace();
}
Dane pierwsze=new Dane(nazwisko, imie);
SortedSet<Dane> sorter = new TreeSet<Dane>();
sorter.add(pierwsze);
}
}
I klasa Dane:
public class Dane {
String nazw;
String imi;
Dane(String n, String im){
nazw=n;
imi=im;
}
}