Java裡實現中文字串陣列的音序排序有沒有現成的?

manbaum發表於2003-10-31

比如有如下陣列:

String[] names = new String[]
  {"張三", "李四", "王大麻子", "趙六", "錢七", "孫八斗"};
<p class="indent">


希望用 Arrays.sort() 排序後變成:

String[] sortedNames = new String[]
  {"李四", "錢七", "孫八斗", "王大麻子", "張三", "趙六"};
<p class="indent">


我定義瞭如下的Comparator,但是不符合要求:

pubilc class MyComparator
  implements Comparator
{
  public int compare(Object o1, Object o2)
  {
    if (o1 instanceof String && o2 instanceof String)
    {
      return ((String)o1).compareTo(o2);
    }
    else
    {
      throw new ClassCastException("Not two strings.");
    }
  }
}
<p class="indent">


順便說一句,我檢查了我的 Locale.getDefault(), 結果是 "zh_CN"。

相關文章