实用工具

1,kkFileView

在线文档预览方案,开源

github 地址

2,xxl-job

分布式任务调度平台,开源

gitHub 地址
gitee 地址

3,SonarQube

代码检查工具

使用

idea maven集成sonarqube组件

4. cpolar

内网穿透
https://dashboard.cpolar.com/status

5. FastGithub

github 加速神器

GitHub 地址

6. pinyin4j

将中文转换为拼音。

官网:https://pinyin4j.sourceforge.net

jar 包:https://files.cnblogs.com/files/cnff/pinyin4j-2.5.0.zip?t=1704357380&download=true

demo:

  1. 导入 jar 包。这个 jar 包中央仓库好像没有,需要自己处理下。
<!--中文转拼音包-->
<dependency>
    <groupId>com.belerweb</groupId>
    <artifactId>pinyin4j</artifactId>
    <version>${pinyin.version}</version>
</dependency>
  1. 用法示例
//排序规则
private int pSort(String o1, String o2){
    //保证 参数不为 null
    o1=o1==null?"":o1;
    o2=o2==null?"":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 String pinyin(char c) {
    String[] pinyins = PinyinHelper.toHanyuPinyinStringArray(c);
    if (pinyins == null) {
        return null;
    }
    return pinyins[0];
}
posted @ 2023-11-10 15:29  primaryC  阅读(33)  评论(0编辑  收藏  举报