1
我正嘗試在java中創建一個非常簡單的IRC客戶端以獲得樂趣,並剛開始處理特定於頻道的用戶列表。我正在使用下面的代碼對用戶列表進行排序,但它沒有完全按照它應該進行排序。 IRC的層次結構如下所示:〜& @%+(qaohv),如果有人沒有這些前綴之一,他們應該在用戶列表的底部。有人知道我可以做什麼來保留一個比較器的列表的字母順序和排序順序嗎?按排名和按字母順序對IRC用戶排序 - Java Comparator
比較代碼:上述比較器的
public class StringComparator implements Comparator<String> {
@Override
public int compare(String a, String b) {
return a.compareToIgnoreCase(b);
}
}
輸出示例:
%Brennan
&Adam
&Sheldon
+Mike
+Yoda
@Phil
@Unleashed
Jean
Damien
~Tim
這在某種程度上有效,但對於沒有前綴的人無效。 – Timr
爲什麼?如果沒有前綴,indexOf返回-1,差值爲0.然後,經典比較接管。 – lbonn
我不知道,但使用上面我得到這個:http://pastebin.com/6Qw8kL7y – Timr