实用工具
1,kkFileView
在线文档预览方案,开源
2,xxl-job
分布式任务调度平台,开源
3,SonarQube
代码检查工具
4. cpolar
内网穿透
https://dashboard.cpolar.com/status
5. FastGithub
github 加速神器
6. pinyin4j
将中文转换为拼音。
官网:https://pinyin4j.sourceforge.net
jar 包:https://files.cnblogs.com/files/cnff/pinyin4j-2.5.0.zip?t=1704357380&download=true
demo:
- 导入 jar 包。这个 jar 包中央仓库好像没有,需要自己处理下。
<!--中文转拼音包-->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>${pinyin.version}</version>
</dependency>
- 用法示例
//排序规则
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];
}