java中按汉字拼音排序时,只要有“怡”字,都是排最后的????为什么
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
import java.util.Comparator;
import java.util.*;
import java.util.Collections;
public class SortPinyin {
public static void main( String[] args ) throws UnsupportedEncodingException {
String[] s = { "孙 ", "孟 ", "宋 ", "尹 ", "廖 ", "张 ", "张 ", "张 ", "徐 ", "昆 ", "曹 ", "曾 ", "怡 "};
String[] c = new String[s.length];
for ( int i = 0; i < s.length; i++ ) {
c[i] = new String( s[i].getBytes( "gbk "), "iso-8859-1 " );
}
/*用数组排序
Arrays.sort( c, new Comparator() {
public int compare( Object o1, Object o2 ) {
return ( ( String ) o1 ).compareTo( ( String ) o2 );
}
}
);
*/
//Arrays.sort( c);
//用集合排序
List list = new ArrayList();
for (int i = 0; i < c.length; i++) {
list.add(c[i]);
}
Collections.sort(list);
for (int i = 0; i < c.length; i++) {
c[i] = (String)list.get(i);
}
for ( int i = 0; i < c.length; i++ ) {
String cc = c[i];
System.out.println( new String( cc.getBytes( "iso-8859-1 " ), "gbk " ) );
}
}
}
曹
昆
廖
孟
宋
孙
徐
尹
曾
张
张
张
怡
上网找了几个都是这样的
[解决办法]
。。。。。关注
[解决办法]
奇怪了。。。。。。。。。
[解决办法]
....学习...
[解决办法]
看看汉字编码,然后在看看你比较的方式,你就明白了。
[解决办法]
Java中汉字编码并非采用拼音编码方式的吧。
[解决办法]
知道么... 这就是我个人不太喜欢Java的原因之一...
[解决办法]
。。。。。拼音排序?这个也是不喜欢java的原因?那你讨厌.net的原因可就多啦
[解决办法]
ScriptBaby(Kanna·Naraku)
难道别的语言能把“怡”字排在前面?
这个是跟字符编码有关,因为字符的排序并不是安全按拼音顺序排序的