当前位置: 首页 > news >正文

对中文汉字排序的方法总结

写在前面

在各个系统中,都随处可见根据某个字段进行升序(ASC)或降序(DESC)进行排序展示。但进行中文汉字排序和查找的时候,对中文汉字的排序和查找结果往往都是错误的。

为了尽量提供全面的解决方法,本文会从各个层面出发告知有需要的人对应的解决方法。

场景一 在MYSQL中如何正确对中文进行排序

解决方法:在查询语句的 order by 部分使用 CONVERT 函数。

-- 对中文排序 升序
select * from tb_resource_type ORDER BY CONVERT(type_name USING gbk)

-- 对中文排序 降序
select * from tb_resource_type ORDER BY CONVERT(type_name USING gbk) DESC

场景二 在接口开发中如何正确对中文进行排序

使用Collections.sort()重新compare方法进行中文 升序,以下仅为代码片段,仅供参考。

Comparator comparator = Collator.getInstance(Locale.CHINA);Collections.sort(codeList, new Comparator<TbmResourceVo>() {@Overridepublic int compare(TbmResourceVo vo1, TbmResourceVo vo2) {return comparator.compare(vo1.getTypeName(), vo2.getTypeName());}});

如何在代码中进行中文倒序排序,可以在升序的基础上,利用 Collections.reverse() 即可完成。

Comparator comparator = Collator.getInstance(Locale.CHINA);Collections.sort(codeList, new Comparator<TbmResourceVo>() {@Overridepublic int compare(TbmResourceVo vo1, TbmResourceVo vo2) {return comparator.compare(vo1.getTypeName(), vo2.getTypeName());}});Collections.reverse(codeList);

其他方式

也可以将汉字转为拼音在进行排序,添加pinyin4j的依赖。

<dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.0</version>
</dependency>

The end.

http://www.lryc.cn/news/509205.html

相关文章:

  • 【解决报错】AttributeError: ‘NoneType‘ object has no attribute ‘group‘
  • 数据结构经典算法总复习(上卷)
  • JS获取URL中参数值的4种方法
  • 【面经】2024年软件测试面试题,精选100 道(附答案)
  • LabVIEW水泵性能测试系统
  • React 第十九节 useLayoutEffect 用途使用技巧注意事项详解
  • 重温设计模式--2、设计模式七大原则
  • 【NLP高频面题 - Transformer篇】Transformer的位置编码是如何计算的?
  • 基于SSM(Spring + Spring MVC + MyBatis)框架构建一个图书馆仓储管理系统
  • web的五个Observer API
  • Java基础:抽象类与接口
  • llama.cpp:PC端测试 MobileVLM -- 电脑端部署图生文大模型
  • Web前端基础知识(一)
  • 基于谱聚类的多模态多目标浣熊优化算法(MMOCOA-SC)求解ZDT1-ZDT4,ZDT6和工程应用--盘式制动器优化,MATLAB代码
  • 国标GB28181摄像机接入EasyGBS如何通过流媒体技术提升安防监控效率?
  • [Unity] ShaderGraph动态修改Keyword Enum,实现不同效果一键切换
  • Unity开发哪里下载安卓Android-NDK-r21d,外加Android Studio打包实验
  • FFTW基本概念与安装使用
  • 【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
  • 教师如何打造专属私密成绩查询系统?
  • 【1224】C选填(字符串\0占大小,类大小函数调用,const定义常量,逗号表达式取尾,abs返回值
  • 本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——终篇
  • 复合机器人:开启智能制造新时代
  • 装饰者模式
  • 【机器学习】当教育遇上机器学习:打破传统,开启因材施教新时代
  • 【蓝桥杯每日一题】分糖果——DFS
  • information_schema是什么?
  • 案例分析-THC7984设计问题报告
  • HarmonyOS NEXT 技术实践-基于基础视觉服务的多目标识别
  • 【python】银行客户流失预测预处理部分,独热编码·标签编码·数据离散化处理·数据筛选·数据分割