com.belerweb
pinyin4j
2.5.1
public int compare(string o1, string o2)
string pinyin1 = pinyin((char) codepoint1);
string pinyin2 = pinyin((char) codepoint2);// 不是漢字則為null
if (pinyin1 != null && pinyin2 != null)
} else }}
return o1.length() - o2.length();
}/**
* 字元的拼音,多音字就得到第乙個拼音。不是漢字,就return null。
*/private string pinyin(char c)
return pinyins[0];
}我修改後的**:
public int compare(string o1, string o2) else
}//將漢字轉換為拼音,不是漢子則為null
string pinyin1 = pinyin(codepoint1);
string pinyin2 = pinyin(codepoint2);
//不為漢字則與原英文比較
if(pinyin1 == null)
if(pinyin2 == null)
//忽略大小寫比較
if (!pinyin1.tolowercase().equals(pinyin2.tolowercase())) else}}
return o1.length() - o2.length();
}public static void main(string args)
/*** 字元的拼音,多音字就得到第乙個拼音。不是漢字,就return null。
*/private string pinyin(char c)
return pinyins[0];
}測試的資料:
public static void main(string args) ;
string english = "abcdefghijklmnopqrstuvwxyz";
string az = english.split("");
arrstrings = arrayutils.addall(arrstrings, az);
// 使根據指定比較器產生的順序對指定物件陣列進行排序。
arrays.sort(arrstrings, comparator);
system.out.println(arrayutils.tostring(arrstrings));
arrays.sort(arrstrings, new pinyincomparator());
system.out.println(arrayutils.tostring(arrstrings));
}
js 中英文排序 獲取中文拼音
arr 使用方法 arr.sort a,b localecompare 屬於js的乙個方法,用本地特定的順序來比較兩個字串 用於對比字串之間的大小,根據比較的結果,返回值要麼大於0要麼小於0要麼等於0。結果如下 結論 1.比較內容中有數字則數字優先。按0 9順序排序。2.比較內容如果第乙個字元是一樣...
實現介面中英文
乙個支援多種語言的程式 一般都是由主程式和多個語言包 資源檔案 組成。執行時,根據不同的語言設定 來讀相應的資源檔案。結合自己開發 resourceworkshop net 資源檔案生成器 的體會,覺得應該注意下面幾個問題 1 字型 字型大小的選擇。一種方法,窗體 控制項的字型全部採用預設的字型,即...
js實現中英文合併排序
本文使用localecompare方法實現了對中英文混合排序方法,共實現了兩種排序方法,排序結果如下 對名字進行排序,包括中文 英文和特殊字元 class namesort let enarr abcdefghijklmnopqrstuvwxyz split let zharr 排序好的資料 let...