赞
踩
比较类,资源类
- public class CompareData implements Comparable<CompareData> {
-
- private String str;
-
- public CompareData(String str) {
- this.str = str;
- }
-
- @Override
- public int compareTo(CompareData o) {
-
- char strFirstChar = getStrFirstChar(str);
- char strFirstCharO = getStrFirstChar(o.str);
- if (strFirstChar < strFirstCharO) {
- return -1;
- }
- if (strFirstChar > strFirstCharO) {
- return 1;
- }
- return 0;
- }
-
- private char getStrFirstChar(String str) {
- String pinyinFirstLetter = PinyinUtils.getPinyinFirstLetter(str);
- char c = pinyinFirstLetter.charAt(0);
- return c;
- }
-
- public String getStr() {
- return str;
- }
-
- public void setStr(String str) {
- this.str = str;
- }
- }
AndroidUtilCode 的 pinyinutil
- List<CompareData> listDatas = new ArrayList<CompareData>() {{
- add(new CompareData("张三"));
- add(new CompareData("李四"));
- add(new CompareData("王麻子"));
- add(new CompareData("鬼脚七"));
- add(new CompareData("黄飞鸿"));
- add(new CompareData("小白兔"));
- add(new CompareData("白又白"));
- add(new CompareData("臭傻吊"));
- }};
-
- Collections.sort(listDatas);
-
-
- for (int i = 0; i < listDatas.size(); i++) {
- CompareData compareData = listDatas.get(i);
- System.out.println(compareData.getStr() + "");
- }
效果:
拼音带音标的尝试:
compile 'com.github.open-android:pinyin4j:2.5.0'
- //-------------------指定格式转换----------------------------
- HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
-
- // UPPERCASE:大写 (ZHONG)
- // LOWERCASE:小写 (zhong)
- format.setCaseType(HanyuPinyinCaseType.LOWERCASE);//输出小写
-
- // WITHOUT_TONE:无音标 (zhong)
- // WITH_TONE_NUMBER:1-4数字表示音标 (zhong4)
- // WITH_TONE_MARK:直接用音标符(必须WITH_U_UNICODE否则异常) (zhòng)
- format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);
-
- // WITH_V:用v表示ü (nv)
- // WITH_U_AND_COLON:用"u:"表示ü (nu:)
- // WITH_U_UNICODE:直接用ü (nü)
- format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
-
- String[] hao = new String[0];
- try {
- hao = PinyinHelper.toHanyuPinyinStringArray('你', format);
- } catch (BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination) {
- badHanyuPinyinOutputFormatCombination.printStackTrace();
- }
-
- for (String s : hao) {
- System.out.println(s);
- }
如果是多音字那么就会有俩个,
可以结合我上面的比较类直接实现多功能
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。