JAVA 汉字首字母排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 汉字首字母排序相关的知识,希望对你有一定的参考价值。

我知道用java可以通过汉字的获得到首字母。下面是源码:
import net.sourceforge.pinyin4j.PinyinHelper;

public class PinyinAPI

/**
* 提取每个汉字的首字母(大写)
*
* @param str
* @return
*/
public static String getPinYinHeadChar(String str)
if (isNull(str))
return "";

String convert = "";
for (int j = 0; j < str.length(); j++)
char word = str.charAt(j);
// 提取汉字的首字母
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray != null)
convert += pinyinArray[0].charAt(0);

else
convert += word;



convert = string2AllTrim(convert);
return convert.toUpperCase();


/*
* 判断字符串是否为空
*/

public static boolean isNull(Object strData)
if (strData == null || String.valueOf(strData).trim().equals(""))
return true;

return false;


/**
* 去掉字符串包含的所有空格
*
* @param value
* @return
*/
public static String string2AllTrim(String value)
if (isNull(value))
return "";

return value.trim().replace(" ", "");


public static void main(String[] args)
String ss = PinyinAPI.getPinYinHeadChar("中国");
System.out.print(ss);//ZG

参考技术A sql就是默认汉字首字母排序的,直接order by那个字段就成~ 参考技术B 直接在SQL里面ORDER BY 不行吗?

mysql 中将汉字按照首字母排序

因为数据库中可以设定表的编码格式,不同编码格式下,中文的排序有区别,下面分别介绍常用编码下的排序方法。

 

1、如果数据表的某字段的字符编码是 utf8_general_ci,排序写法:

ORDER BY CONVERT(表别名.字段名 USING gbk) COLLATE gbk_chinese_ci ASC;

 

 

例子

SELECT * FROM mg_clinic mc ORDER BY CONVERT(mc.`CLNAME` USING gbk) COLLATE gbk_chinese_ci ASC;

 

2、如果数据表的某字段的字符编码是 latin1_swedish_ci,排序写法:

order by birary(表别名.字段名) asc ;

 

3、如果数据表的某字段的字符编码是 GBK,排序写法:

直接排序就行,因为 GBK 编码本来就是排序汉字首字母进行排序的

order by 表别名.字段名asc;

 

 

参考:

https://blog.csdn.net/mawming/article/details/52045771

https://my.oschina.net/u/999578/blog/150392

https://blog.csdn.net/stephenxu111/article/details/4436181

https://blog.csdn.net/w410589502/article/details/58049091

 

原文链接:

https://www.cnblogs.com/poterliu/p/11596334.html

 

以上是关于JAVA 汉字首字母排序的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中List集合的汉字排序

mysql 汉字按拼音字母排序获取拼音首字母拼音全拼

mysql 汉字按拼音字母排序获取拼音首字母拼音全拼

JAVA通过数组按首字母排序怎么做?

将汉字转换为拼音截取拼音首字母根据字母排序

将汉字转换为拼音截取拼音首字母根据字母排序