最近发现使用Collator类排序有点小问题,比如“湄”这个字没有按照拼音排序
排序代码:Collator.getInstance(Locale.getDefault()).compare(obj1, obj2)
上面的代码有问题吗?(其中直接使用中文Locale结果一样)
现在无奈只好不用Collator排序了,自己转换拼音字库。大家有没有碰到这样的问题,如何解决的?

解决方案 »

  1.   

    这样你可能会碰到个问题,比如多音字的处理就特别麻烦。特定的词中可能有特定的拼音。可能给排序造成问题。以前做.net的时候,girdview就可以排序,不知道那个是怎么实现的。
      

  2.   

    把汉字转换成hashcode不能排序吗?为什么要转换成拼音
      

  3.   

    楼上的,字符串的hashcode其实就是unicode码,和拼音完全无关,排出来的顺序肯定不对。6楼的朋友,多音字确实是个问题,但这属于特例,可以忽略。用户一般也理解。
    如果确实有用户对某些多音字敏感,只好特殊处理了。总之中文排序这个需求绝对是必须的。