From 035b716b884b17fff085c4049034d0403671865f Mon Sep 17 00:00:00 2001 From: FULaBUla <46469068+FULaBUla@users.noreply.github.com> Date: Sat, 10 Apr 2021 22:42:38 +0800 Subject: [PATCH] =?UTF-8?q?Feat=20(hutool-extra):=20=E6=B1=89=E5=AD=97?= =?UTF-8?q?=E8=BD=AC=E6=8B=BC=E9=9F=B3=E5=A2=9E=E5=8A=A0=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=20pinyin.jar=20=E8=BF=9B=E8=A1=8C=E8=BD=AC=E6=8D=A2=E7=9A=84?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # 修改 1. 发现一个新的进行拼音转换的第三方工具 jar ,增加对这个工具的使用 --- hutool-extra/pom.xml | 5 ++ .../pinyin/engine/pinyin/PinyinEngine.java | 73 +++++++++++++++++++ .../pinyin/engine/pinyin/package-info.java | 20 +++++ 3 files changed, 98 insertions(+) create mode 100644 hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/PinyinEngine.java create mode 100644 hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/package-info.java diff --git a/hutool-extra/pom.xml b/hutool-extra/pom.xml index db3b71e3d..f09050c69 100644 --- a/hutool-extra/pom.xml +++ b/hutool-extra/pom.xml @@ -323,6 +323,11 @@ 1.0.0 true + + com.github.houbb + pinyin + 0.2.0 + cglib cglib diff --git a/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/PinyinEngine.java b/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/PinyinEngine.java new file mode 100644 index 000000000..a2479d646 --- /dev/null +++ b/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/PinyinEngine.java @@ -0,0 +1,73 @@ +package cn.hutool.extra.pinyin.engine.pinyin; + +import com.github.houbb.pinyin.constant.enums.PinyinStyleEnum; +import com.github.houbb.pinyin.util.PinyinHelper; + +/** + * 封装了 Pinyin 的引擎。 + * + *

+ * pinyin(https://github.com/houbb/pinyin)封装。 + *

+ * + *

+ * 引入: + *

+ * <dependency>
+ *     <groupId>com.github.houbb</groupId>
+ *     <artifactId>pinyin</artifactId>
+ *     <version>0.2.0</version>
+ * </dependency>
+ * 
+ * + * @author looly + */ +public class PinyinEngine implements cn.hutool.extra.pinyin.PinyinEngine { + + /** + * 汉字拼音输出的格式 + */ + PinyinStyleEnum format; + + /** + * 构造 + */ + public PinyinEngine() { + this(null); + } + + /** + * 构造 + * + * @param format 格式 + */ + public PinyinEngine(PinyinStyleEnum format) { + init(format); + } + + /** + * 初始化 + * + * @param format 格式 + */ + public void init(PinyinStyleEnum format) { + if (null == format) { + format = PinyinStyleEnum.NORMAL; + } + this.format = format; + } + + @Override + public String getPinyin(char c) { + String result; + result = PinyinHelper.toPinyin(String.valueOf(c), format); + return result; + } + + @Override + public String getPinyin(String str, String separator) { + String result; + result = PinyinHelper.toPinyin(str, format); + return result; + } +} diff --git a/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/package-info.java b/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/package-info.java new file mode 100644 index 000000000..a05d63887 --- /dev/null +++ b/hutool-extra/src/main/java/cn/hutool/extra/pinyin/engine/pinyin/package-info.java @@ -0,0 +1,20 @@ +/** + * 封装了 Pinyin 的引擎。 + * + *

+ * pinyin(https://github.com/houbb/pinyin)封装。 + *

+ * + *

+ * 引入: + *

+ * <dependency>
+ *     <groupId>com.github.houbb</groupId>
+ *     <artifactId>pinyin</artifactId>
+ *     <version>0.2.0</version>
+ * </dependency>
+ * 
+ * + * @author looly + */ +package cn.hutool.extra.pinyin.engine.pinyin;