关于写联系人时用到pinyin4j.jar的使用
来源:互联网 发布:centos搭建邮箱服务器 编辑:程序博客网 时间:2024/06/05 11:48
package com.zhishucaipei.ksb.utils;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.HanyuPinyinVCharType;import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;public class PinYinKit { /** * 使用该方法将首字母变成拼音,后续可以按拼音进行排序。 */ public static String getPingYin(String chineseStr) throws BadHanyuPinyinOutputFormatCombination { String zhongWenPinYin = ""; char[] chars = chineseStr.toCharArray(); for (int i = 0; i < chars.length; i++) { String[] pinYin = PinyinHelper.toHanyuPinyinStringArray(chars[i], getDefaultOutputFormat()); if (pinYin != null) zhongWenPinYin += pinYin[0]; else zhongWenPinYin += chars[i]; } return zhongWenPinYin; } private static HanyuPinyinOutputFormat getDefaultOutputFormat() { HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); format.setCaseType(HanyuPinyinCaseType.UPPERCASE); format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); format.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON); return format; }}
在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标。
package com.zhishucaipei.ksb.utils;import com.zhishucaipei.ksb.bean.LinkManInfoVO;import java.util.Comparator;public class PinyinComparator implements Comparator<LinkManInfoVO> { public int compare(LinkManInfoVO o1, LinkManInfoVO o2) { if (o1.getSortLetters().equals("@") || o2.getSortLetters().equals("#")) return -1; else if (o1.getSortLetters().equals("#") || o2.getSortLetters().equals("@")) return 1; else return o1.getSortLetters().compareTo(o2.getSortLetters()); }}
实际使用的方式:
RequestParams params = new RequestParams(UrlConstants.getLinkManAll);params.addBodyParameter("accessToken", user.getData().getAccessToken());x.http().post(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { try { JSONObject object = new JSONObject(result); Gson gson = new Gson(); LinkManBean linkManBean = gson.fromJson(object.toString(), LinkManBean.class); LinkManInfoData = linkManBean.getData(); } catch (JSONException e) { e.printStackTrace(); } } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { // sort by a-z BaseApplication.setLinkManInfoList(LinkManInfoData); try { sortModelList = filledData(LinkManInfoData); } catch (BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination) { badHanyuPinyinOutputFormatCombination.printStackTrace(); } Collections.sort(sortModelList, comparator); adapter = new SortAdapter(getContext(), sortModelList); sortListView.setAdapter(adapter); }});
1 0
- 关于写联系人时用到pinyin4j.jar的使用
- 使用QuickContactsBadge查询联系人时需要注意的事项
- google同步联系人时遇到的问题
- Android中获取联系人时的注意事项
- IKAnalyzer2012FF_u1.jar 以及PinYin4J 使用出现的问题
- pinyin4j的使用.
- pinyin4j的使用
- pinyin4j的使用
- pinyin4j.rar的使用
- pinyin4j的使用
- pinyin4j的使用
- pinyin4j的使用
- 使用pinyin4j的问题
- Pinyin4j的简单使用
- pinyin4j的简单使用
- pinyin4j的简单使用
- pinyin4j的使用
- 使用hibernate用到的jar列表
- -lz -lrt -lm -lc都是什么库
- crontab日志
- java 内部类讲解
- Eclipse快捷键大全
- ia-a和has-a
- 关于写联系人时用到pinyin4j.jar的使用
- 鼎信通讯公司学习信息收集----阿冬专栏
- 多篇用DL做Semantic Segmentation的文章总结
- 337 leetcode House Robber III
- 分支结构程序设计 项目1-正差值
- Android的各种Drawable 讲解 大全
- 希尔排序
- opensips之opensipsdbctl
- oozie sharelib问题