我是一個具有C++經驗的Java noob,我試着按照以下幾行創建Java集合(類似於C++中的做法):Java泛型和集合集
Set< Set<String> > collection = new TreeSet< Set<String> >();
Set<String> entry = new TreeSet<String>();
collection.add(entry);
這建立良好,但之後在執行程序時,一個java.util.TreeSet cannot be cast to java.lang.Comparable
拋出異常。
沒有重新實現輪子,怎麼能有一套在Java集?
此外,Java允許破壞代碼(例如,類型不匹配)編譯的交易是什麼?
在此先感謝您的任何反饋意見。
我會在這種情況下使用HashSet(請參閱您的問題的biziclop解釋)。 – Raveline 2012-04-14 19:14:51
你需要你的外套是一個排序集嗎?如果是這樣,排序規則是什麼? – nansen 2012-04-14 19:19:26
順序無關緊要;我用TreeSet來說明我的問題。我的猜測是HashSet也可以做到這一點(儘管我經常對任何依賴啓發式算法(即散列函數)的算法保持警惕,當我對處理的數據不夠了解時) – Meh 2012-04-14 19:22:47