我附上下面的代碼排序一個字符串,我想解決這爲使用Java集合
class sort{
public static void main(String args[])
{String a ="this is a kiran";
StringTokenizer st =new StringTokenizer(a);
List f=new ArrayList();
f.add(st);
Collections.sort(f);
System.out.println("after sortting "+f);
}
}
我想作爲輸出:
a
is
kiran
this
但我得到一個例外,因爲: -
線程「main」中的異常java.lang.ClassCastException:java.util.StringTokenizer不能轉換爲java.lang.Comparableat java.util.Collections.sort(UnknownSource)atcom.sort.main(Sort.java:18)
爲什麼不使用string.split(「\\ s +」)而不是String tokenizer? – TheLostMind
您不能只將StringTokenizer添加到列表中。使用StringTokenizer遍歷令牌。 –
StringTokenizer類不實現Comparable接口。 _「列表中的所有元素必須實現Comparable接口。此外,列表中的所有元素必須相互可比(即,e1.compareTo(e2)不得爲列表中的任何元素e1和e2拋出ClassCastException)。 「_ –