释放双眼,带上耳机,听听看~!

package com.example.f;

import java.util.Comparator;

import net.sourceforge.pinyin4j.PinyinHelper;

public class PinyinComparator implements Comparator {

public int compare(String o1, String o2) {

for (int i = 0; i < o1.length() && i < o2.length(); i++) {

int codePoint1 = o1.charAt(i);

int codePoint2 = o2.charAt(i);

if (Character.isSupplementaryCodePoint(codePoint1) || Character.isSupplementaryCodePoint(codePoint2)) {

i++;

}

if (codePoint1 != codePoint2) {

if (Character.isSupplementaryCodePoint(codePoint1) || Character.isSupplementaryCodePoint(codePoint2)) {

return codePoint1 - codePoint2;

}

String pinyin1 = pinyin((char) codePoint1);

String pinyin2 = pinyin((char) codePoint2);

if (pinyin1 != null && pinyin2 != null) {

// 两个字符都是汉字

if (!pinyin1.equals(pinyin2)) {

return pinyin1.compareTo(pinyin2);

}

} else {

return codePoint1 - codePoint2;

}

}

}

return o1.length() - o2.length();

}

/** * 字符的拼音,多音字就得到第一个拼音。不是汉字,就return null。 */

private static String pinyin(char c) {

String[] pinyins = PinyinHelper.toHanyuPinyinStringArray(c);

if (pinyins == null) {

return null;

}

return pinyins[0];

}

}

//需要倒入pinyin4j-2.5.0.jar包!

}

}

}

}

}

android 汉字拼音排序,Android拼音排序相关推荐

  1. android 汉字转字节,android实现汉字转拼音功能 带多音字识别

    android 汉字转拼音带多音字识别功能,供大家参考,具体内容如下 问题来源 在做地名按首字母排序的时候出现了这样一个bug.长沙会被翻译拼音成zhangsha,重庆会被翻译拼音成zhong qin ...

  2. android 汉字 unicode编码,Android解析UniCode编码

    前言 从网络获取JSON信息的时候,有时我们会获取到一些不知名的东西,比如下面的情况就是我获取的json信息: 可以看到artist_name我所希望的是歌手的名字,结果出来的却是一堆不知道什么东西的 ...

  3. android汉字转url,Android将文本中的URL转换为超链接工具类(原文本有超链接标签也适用)...

    public class TextToLinkUtil { public static String textContainUrlToLink(String urlText) { // 先拆分原字符串 ...

  4. Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/12684155 前段时间因为换工作的缘故又恰巧碰到国庆节,所以有段时间自己没有更新博客了 ...

  5. Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/12684155 前段时间因为换工作的缘故又恰巧碰到国庆节,所以有段时间自己没有更新博客了 ...

  6. android列表字母排序,Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音...

    [实例简介]Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音 [实例截图] [核心代码] package com.example.sortlistview; imp ...

  7. Android实现中文汉字笔划(笔画)、中文拼音排序、英文排序

    发布时间:2018-11-16 技术:Android 概述 最近要做一个类似微信的,在登录界面选择国家地区的功能,微信有中文汉字笔画排序以及中文拼音排序等几种方式,如下所示: 简体中文 拼音排序;繁体 ...

  8. android中文首字母排序,Android上汉字按拼音排序如何实现?

    具体的代码在 packages\providers\contactsprovider\src\com\android\providers\contacts\ContactL ocaleUtils.ja ...

  9. Java字母笔顺_Android实现中文汉字笔划(笔画)、中文拼音排序、英文排序

    一.需求描述 最近要做一个类似微信的,在登录界面选择国家地区的功能,微信有中文汉字笔画排序以及中文拼音排序等几种方式,如下所示: 微信:简体中文.拼音排序 微信:繁体中文.笔画排序 微信 英文 字母排 ...

  10. Android汉字转拼音HanziToPinyin

    Android系统本身自带有有将汉字转化为英文拼音的类和方法.具体的类就是HanziToPinyin.java.Android系统自身实现的通讯录中就使用了HanziToPinyin.java对中文通 ...

最新文章

  1. 「机器学习速成」数据预处理,特征工程,良好特征的特点
  2. Jenkins一键上线Java项目
  3. 解决前后端base64编码传递时的中文乱码问题
  4. Zynq器件的时钟系统
  5. JZOJ 3852. 【NOIP2014八校联考第2场第2试9.28】单词接龙(words)
  6. 【机器学习基础】机器学习模型的度量选择(上)
  7. 2015 11月30日 一周工作计划与执行
  8. 恢复mysql中root用户的所有权限_如何还原MySQL root用户的全部权限
  9. 西建大历年电子与通信工程复试真题_学姐分享2020年西安电子科技大学电子与通信工程考研初复试经验指导...
  10. 手机UI界面模板psd源文件格式!
  11. 私服采集,在线添加系统!
  12. easyui 提示框组件_15、Message 消息窗口组件
  13. HDU 2531 (BFS搜索)
  14. Git 管理工具 SourceTree 的使用(上手简单,不熟悉git命令的开发者必用)
  15. linux更换输入法_一日一Linux之一:CentOS 8.1 王者荣耀
  16. 以下数据库收录外文文献全文的有_除了SCIHUB,这十大外文文献下载数据库也应该一试!...
  17. 一文通透优化算法:从随机梯度、随机梯度下降法到牛顿法、共轭梯度
  18. hdwiki can not connect to mysql_HDWIKI最新版Update注入可修改管理员密码(MYSQL进制技巧)...
  19. Image To PDF or XPS V4.2 汉化版,tek2y原创汉化!
  20. 【Linux】 常用命令

热门文章

  1. 华为预装国产系统UOS开箱实录,mac看了沉默,Windows见了落泪...(附镜像下载)...
  2. 盲打每分钟资源10几个字_每个人都应该看到的资源
  3. 3D游戏——游戏的本质
  4. 黑马程序员,黑马论坛----黑马.Net9期毕业60天,就业率已达100%,平均薪水6236.17元
  5. Eclipse target目录没有classes文件夹
  6. 项目总结:vue.js2.5饿了么APP(5)主要组件实现 - 商品详情页部分
  7. 用CentOS 7打造合适的科研环境
  8. IDEA中如何安装插件和宝贝插件的推荐
  9. 使用Python制作的词云图
  10. Corel Painter Essentials 5 for Mac 如何绘制漫画