欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java開(kāi)源好用的簡(jiǎn)繁轉(zhuǎn)換類(lèi)庫(kù)推薦

 更新時(shí)間:2022年08月12日 15:45:06   作者:一灰灰  
這篇文章主要為大家介紹了java開(kāi)源好用的簡(jiǎn)繁轉(zhuǎn)換類(lèi)庫(kù)推薦,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

今天給大家介紹一個(gè)非常有意思類(lèi)庫(kù),基于java實(shí)現(xiàn)的簡(jiǎn)繁體轉(zhuǎn)換,適用于后端、android等開(kāi)發(fā)領(lǐng)域

源碼地址:* liuyueyi/quick-chinese-transfer: 簡(jiǎn)繁轉(zhuǎn)換,支持香港繁體,臺(tái)灣繁體與簡(jiǎn)體互轉(zhuǎn)

1. 實(shí)例體驗(yàn)

以maven做項(xiàng)目管理,可以直接從中央倉(cāng)庫(kù)下載,再pom文件中添加以下依賴(lài)即可

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi/quick-transfer-core -->
<dependency>
    <groupId>com.github.liuyueyi</groupId>
    <artifactId>quick-transfer-core</artifactId>
    <version>0.2.6</version>
</dependency>

說(shuō)明:0.2.6版本于2022-08-11上傳,若在mvn倉(cāng)庫(kù)搜索不到,不要慌,可以先使用0.2.5

如果是gradle做項(xiàng)目管理,依賴(lài)同樣很簡(jiǎn)單

// https://mvnrepository.com/artifact/com.github.liuyueyi/quick-transfer-core
implementation 'com.github.liuyueyi:quick-transfer-core:0.2.6'

此外,針對(duì)網(wǎng)絡(luò)不好的小伙伴,也可以通過(guò)jitpack的方式導(dǎo)入依賴(lài),具體姿勢(shì)如下

maven依賴(lài)

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>
<dependency>
    <groupId>com.github.liuyueyi.quick-chinese-transfer</groupId>
    <artifactId>quick-transfer-core</artifactId>
    <version>0.2.6</version>
</dependency>

gradle依賴(lài)

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}
dependencies {
    implementation 'com.github.liuyueyi.quick-chinese-transfer:quick-transfer-core:0.2.6'
}

環(huán)境準(zhǔn)備完畢之后,可以直接進(jìn)行使用了,使用姿勢(shì)非常非常非常的簡(jiǎn)單

public void testTrans() {
    String text = "這斜月三星洞…… 長(zhǎng)壽面,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說(shuō)西游,許多人都這樣說(shuō),收拾一下,拾金不昧;纔=才";
    // 簡(jiǎn)體轉(zhuǎn)繁體
    String out = ChineseUtils.s2t(text);
    System.out.println("s2t -->" + out);
    // 簡(jiǎn)體轉(zhuǎn)香港繁體
    String hkOut = ChineseUtils.s2hk(text);
    System.out.println("s2hk -->" + hkOut);
    // 簡(jiǎn)體轉(zhuǎn)臺(tái)灣繁體
    String twOut = ChineseUtils.s2tw(text);
    System.out.println("s2tw --> " + twOut);
    // 繁體轉(zhuǎn)簡(jiǎn)體
    String origin = ChineseUtils.t2s(out);
    System.out.println("t2s -->" + origin);
    // 香港繁體轉(zhuǎn)簡(jiǎn)體
    System.out.println("hk2s -->" + ChineseUtils.hk2s(hkOut));
    // 臺(tái)灣繁體轉(zhuǎn)簡(jiǎn)體
    System.out.println("tw2s -->" + ChineseUtils.tw2s(twOut));
}

入口類(lèi) ChineseUtils 支持簡(jiǎn)繁互轉(zhuǎn),這里區(qū)分了香港繁體 + 臺(tái)灣繁體,兩者的主要區(qū)別在于某些字、詞的叫法不一樣

通常來(lái)講,使用最簡(jiǎn)單的簡(jiǎn)繁互即可

上面的case輸出結(jié)果如下:

s2t -->這斜月三星洞…… 長(zhǎng)壽麪,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說(shuō)西遊,許多人都這樣說(shuō),收拾一下,拾金不昧;纔=才
s2hk -->這斜月三星洞…… 長(zhǎng)壽麪,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲説西遊,許多人都這樣説,收拾一下,拾金不昧;才=才
s2tw --> 這斜月三星洞…… 長(zhǎng)壽麵,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說(shuō)西遊,許多人都這樣說(shuō),收拾一下,拾金不昧;才=才
t2s -->這斜月三星洞…… 長(zhǎng)壽面,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說(shuō)西游,許多人都這樣說(shuō),收拾一下,拾金不昧;才=才
hk2s -->這斜月三星洞…… 長(zhǎng)壽面,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說(shuō)西游,許多人都這樣說(shuō),收拾一下,拾金不昧;才=才
tw2s -->這斜月三星洞…… 長(zhǎng)壽面,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說(shuō)西游,許多人都這樣說(shuō),收拾一下,拾金不昧;才=才

2. 進(jìn)階使用

簡(jiǎn)繁轉(zhuǎn)換,核心在于詞典的管理,改類(lèi)庫(kù)在首次實(shí)現(xiàn)轉(zhuǎn)換的時(shí)候,會(huì)加載詞典,并解析為內(nèi)部的數(shù)據(jù)結(jié)構(gòu)Dict;因此第一次調(diào)用時(shí),會(huì)出現(xiàn)冷啟動(dòng)的耗時(shí)高問(wèn)題

2.1 預(yù)熱

基于此,可以再合適的地方先預(yù)熱加載詞典;官方提供了同步預(yù)熱/異步預(yù)熱兩種方式,如

// 預(yù)熱加載所有的詞典
ChineseUtils.preLoad(true, TransType.values());
// 預(yù)加載簡(jiǎn)體轉(zhuǎn)繁體詞典
ChineseUtils.preLoad(true, TransType.SIMPLE_TO_TRADITIONAL);
// 預(yù)加載簡(jiǎn)繁互轉(zhuǎn)詞典
ChineseUtils.preLoad(true, TransType.SIMPLE_TO_TRADITIONAL, TransType.TRADITIONAL_TO_SIMPLE);

preLoad方法的第一個(gè)參數(shù),就是用來(lái)控制同步還是異步的情況

后面的參數(shù)則為希望加載的詞典

2.2 卸載

同樣有了預(yù)熱就有卸載,對(duì)于客戶端的小伙伴來(lái)說(shuō)可能更關(guān)注這一點(diǎn)的內(nèi)存占用;對(duì)于不需要的詞典,可以指定卸載

// 卸載所有詞典
ChineseUtils.unLoad(TransType.values());
// 卸載簡(jiǎn)繁互轉(zhuǎn)詞典
ChineseUtils.unLoad(TransType.SIMPLE_TO_TRADITIONAL, TransType.TRADITIONAL_TO_SIMPLE);

2.3 通用方法

在第一節(jié)的使用實(shí)例中,提供了各種特有的方法來(lái)實(shí)現(xiàn)轉(zhuǎn)換;同樣也提供一個(gè)統(tǒng)一的方法,根據(jù)傳參的詞典類(lèi)型來(lái)進(jìn)行轉(zhuǎn)換;適用于統(tǒng)一api接口的設(shè)計(jì),根據(jù)傳參來(lái)返回對(duì)應(yīng)的結(jié)果場(chǎng)景

ChineseUtils.transfer("一灰灰blog", TransType.SIMPLE_TO_TRADITIONAL);

3. 小結(jié)

最后簡(jiǎn)單介紹下這個(gè)項(xiàng)目,沒(méi)錯(cuò)這個(gè)項(xiàng)目目前是我再維護(hù),核心實(shí)現(xiàn)主要來(lái)自 chinese-utils,那么為啥要獨(dú)立搞一個(gè)呢? 原因如下

  • 這個(gè)項(xiàng)目不再維護(hù)了,最后一次提交在15年
  • 詞典舊且,有問(wèn)題的數(shù)據(jù)較多,所以我完全替換了它的默認(rèn)詞典,改用 HanLP 詞典文件
  • 新特性增加(如港臺(tái)繁體的區(qū)分支持,如預(yù)熱加載)
  • 性能優(yōu)化等(詞典解析規(guī)則、匹配算法的改進(jìn)等)

以上就是java開(kāi)源好用的簡(jiǎn)繁轉(zhuǎn)換類(lèi)庫(kù)推薦的詳細(xì)內(nèi)容,更多關(guān)于java開(kāi)源簡(jiǎn)繁轉(zhuǎn)換類(lèi)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 關(guān)于Java中Comparable 和 Comparator的用法

    關(guān)于Java中Comparable 和 Comparator的用法

    這篇文章主要介紹了關(guān)于Java中Comparable 和 Comparator的用法,Comparable 和 Comparator 是關(guān)于排序的兩個(gè)接口,用來(lái)實(shí)現(xiàn) Java 集合中的的排序功能,需要的朋友可以參考下
    2023-04-04
  • java使用CountDownLatch實(shí)現(xiàn)多線程協(xié)作

    java使用CountDownLatch實(shí)現(xiàn)多線程協(xié)作

    在多線程編程中,經(jīng)常需要實(shí)現(xiàn)一種機(jī)制來(lái)協(xié)調(diào)多個(gè)線程的執(zhí)行,以確保某些操作在所有線程完成后再進(jìn)行,CountDownLatch?就是?Java?并發(fā)包中提供的一種同步工具,下面我們就來(lái)看看如何使用CountDownLatch實(shí)現(xiàn)多線程協(xié)作吧
    2023-11-11
  • 簡(jiǎn)單談?wù)凷pring Ioc原理解析

    簡(jiǎn)單談?wù)凷pring Ioc原理解析

    學(xué)習(xí)過(guò)Spring框架的人一定都會(huì)聽(tīng)過(guò)Spring的IoC(控制反轉(zhuǎn)) 、DI(依賴(lài)注入)這兩個(gè)概念,對(duì)于初學(xué)Spring的人來(lái)說(shuō),總覺(jué)得IoC 、DI這兩個(gè)概念是模糊不清的,是很難理解的,今天和大家分享網(wǎng)上的一些技術(shù)大牛們對(duì)Spring框架的IOC的理解以及談?wù)勎覍?duì)Spring Ioc的理解。
    2018-09-09
  • 詳解Spring Boot讀取配置文件與配置文件優(yōu)先級(jí)

    詳解Spring Boot讀取配置文件與配置文件優(yōu)先級(jí)

    這篇文章主要介紹了詳解Spring Boot讀取配置文件與配置文件優(yōu)先級(jí),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • SpringMVC使用JsonView針對(duì)統(tǒng)一實(shí)體返回不同信息

    SpringMVC使用JsonView針對(duì)統(tǒng)一實(shí)體返回不同信息

    這篇文章主要為大家介紹了SpringMVC使用JsonView針對(duì)統(tǒng)一實(shí)體返回不同信息,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Java開(kāi)發(fā)完整短信驗(yàn)證碼功能的全過(guò)程

    Java開(kāi)發(fā)完整短信驗(yàn)證碼功能的全過(guò)程

    利用短信驗(yàn)證碼進(jìn)行身份驗(yàn)證是目前互聯(lián)網(wǎng)眾多產(chǎn)品常用的一種方式,那么這種短信驗(yàn)證功能是如何實(shí)現(xiàn)的呢,下面這篇文章主要給大家介紹了關(guān)于Java開(kāi)發(fā)完整短信驗(yàn)證碼功能的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Eclipse配置python開(kāi)發(fā)環(huán)境過(guò)程圖解

    Eclipse配置python開(kāi)發(fā)環(huán)境過(guò)程圖解

    這篇文章主要介紹了Eclipse配置python開(kāi)發(fā)環(huán)境過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Mybatis圖文并茂講解分頁(yè)插件

    Mybatis圖文并茂講解分頁(yè)插件

    使用過(guò)mybatis的人都知道,mybatis本身就很小且簡(jiǎn)單,sql寫(xiě)在xml里,統(tǒng)一管理和優(yōu)化。缺點(diǎn)當(dāng)然也有,比如我們使用過(guò)程中,要使用到分頁(yè),如果用最原始的方式的話,1.查詢分頁(yè)數(shù)據(jù),2.獲取分頁(yè)長(zhǎng)度,也就是說(shuō)要使用到兩個(gè)方法才能完成分頁(yè)
    2022-07-07
  • Java的Semaphore信號(hào)量使用及原理解讀

    Java的Semaphore信號(hào)量使用及原理解讀

    這篇文章主要介紹了Java的Semaphore信號(hào)量使用及原理解讀,Semaphore(信號(hào)量)是Java中一個(gè)并發(fā)控制工具,用于控制對(duì)共享資源的訪問(wèn),它基于計(jì)數(shù)器的原理,可以限制同時(shí)訪問(wèn)某個(gè)資源的線程數(shù)量,需要的朋友可以參考下
    2023-12-12
  • 全面解析Java中的GC與幽靈引用

    全面解析Java中的GC與幽靈引用

    一般的應(yīng)用程序不會(huì)涉及到 Reference 編程, 但是了解這些知識(shí)會(huì)對(duì)理解 GC 的工作原理以及性能調(diào)優(yōu)有一定幫助,在實(shí)現(xiàn)一些基礎(chǔ)性設(shè)施比如緩存時(shí)也可能會(huì)用到,希望本文能有所幫助
    2013-09-09

最新評(píng)論