通讯录按字母排序的工具类

来源:互联网 发布:河南大学软件学院地址 编辑:程序博客网 时间:2024/06/06 09:00
import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;public class PinYinUtils {/** * 把用户名改成拼音 */public static String getPinYin(String name) {StringBuilder stringBuilder = new StringBuilder();char[] chars = name.toCharArray();HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);format.setCaseType(HanyuPinyinCaseType.UPPERCASE);for (char ch : chars) {// 处理空格if (Character.isWhitespace(ch)) {continue;}// ascII 表if (ch > 128 || ch < -127) { // 中文try {String[] strings = PinyinHelper.toHanyuPinyinStringArray(ch, format);if (strings != null && strings.length > 0) {stringBuilder.append(strings[0]);}} catch (BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination) {badHanyuPinyinOutputFormatCombination.printStackTrace();LogUtil.i("MyInfo",badHanyuPinyinOutputFormatCombination.toString());}} else if ((ch <= 'z' && ch >= 'a') || (ch <= 'Z' && ch >= 'A')) {stringBuilder.append(Character.toUpperCase(ch));}}if (stringBuilder.length() == 0) {stringBuilder.append('|');}return stringBuilder.toString();}}


这个类用到一个jar包:pinyin4j-2.5.0.jar,网上下载下来就行。



0 0
原创粉丝点击