Heim  >  Artikel  >  Java  >  Beispielanalyse von Java Open Source und einer benutzerfreundlichen vereinfachten und traditionellen Konvertierungsklassenbibliothek

Beispielanalyse von Java Open Source und einer benutzerfreundlichen vereinfachten und traditionellen Konvertierungsklassenbibliothek

PHPz
PHPznach vorne
2023-05-11 08:19:051213Durchsuche

    1. Beispielerfahrung

    Verwenden Sie Maven für das Projektmanagement und fügen Sie der POM-Datei die folgenden Abhängigkeiten hinzu: 0.2.6 Die Version wurde am 11.08.2022 hochgeladen. Wenn Sie sie nicht im MVN-Warehouse finden können, geraten Sie nicht in Panik, Sie können zuerst 0.2.5 verwenden

    Wenn es sich um ein Gradle-Projekt handelt Verwaltung, die Abhängigkeit ist auch sehr einfach0.2.6版本于2022-08-11上传,若在mvn仓库搜索不到,不要慌,可以先使用0.2.5

    如果是gradle做项目管理,依赖同样很简单

    <!-- 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>

    此外,针对网络不好的小伙伴,也可以通过jitpack的方式导入依赖,具体姿势如下

    maven依赖

    // https://mvnrepository.com/artifact/com.github.liuyueyi/quick-transfer-core
    implementation &#39;com.github.liuyueyi:quick-transfer-core:0.2.6&#39;

    gradle依赖

    <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>

    环境准备完毕之后,可以直接进行使用了,使用姿势非常非常非常的简单

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

    入口类 ChineseUtils 支持简繁互转,这里区分了香港繁体 + 台湾繁体,两者的主要区别在于某些字、词的叫法不一样

    通常来讲,使用最简单的简繁互即可

    上面的case输出结果如下:

    s2t -->這斜月三星洞…… 長壽麪,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西遊,許多人都這樣說,收拾一下,拾金不昧;纔=才
    s2hk -->這斜月三星洞…… 長壽麪,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲説西遊,許多人都這樣説,收拾一下,拾金不昧;才=才
    s2tw --> 這斜月三星洞…… 長壽麵,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西遊,許多人都這樣說,收拾一下,拾金不昧;才=才
    t2s -->这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;才=才
    hk2s -->这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;才=才
    tw2s -->这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;才=才

    2. 进阶使用

    简繁转换,核心在于词典的管理,改类库在首次实现转换的时候,会加载词典,并解析为内部的数据结构Dict;因此第一次调用时,会出现冷启动的耗时高问题

    2.1 预热

    基于此,可以再合适的地方先预热加载词典;官方提供了同步预热/异步预热两种方式,如

    public void testTrans() {
        String text = "这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;纔=才";
        // 简体转繁体
        String out = ChineseUtils.s2t(text);
        System.out.println("s2t -->" + out);
        // 简体转香港繁体
        String hkOut = ChineseUtils.s2hk(text);
        System.out.println("s2hk -->" + hkOut);
        // 简体转台湾繁体
        String twOut = ChineseUtils.s2tw(text);
        System.out.println("s2tw --> " + twOut);
        // 繁体转简体
        String origin = ChineseUtils.t2s(out);
        System.out.println("t2s -->" + origin);
        // 香港繁体转简体
        System.out.println("hk2s -->" + ChineseUtils.hk2s(hkOut));
        // 台湾繁体转简体
        System.out.println("tw2s -->" + ChineseUtils.tw2s(twOut));
    }

    preLoad

    // 预热加载所有的词典
    ChineseUtils.preLoad(true, TransType.values());
    // 预加载简体转繁体词典
    ChineseUtils.preLoad(true, TransType.SIMPLE_TO_TRADITIONAL);
    // 预加载简繁互转词典
    ChineseUtils.preLoad(true, TransType.SIMPLE_TO_TRADITIONAL, TransType.TRADITIONAL_TO_SIMPLE);

    Darüber hinaus können Freunde mit schlechten Netzwerkverbindungen auch Abhängigkeiten über Jitpack importieren. Die spezifischen Schritte sind wie folgt

    Maven-Abhängigkeiten

    // 卸载所有词典
    ChineseUtils.unLoad(TransType.values());
    // 卸载简繁互转词典
    ChineseUtils.unLoad(TransType.SIMPLE_TO_TRADITIONAL, TransType.TRADITIONAL_TO_SIMPLE);

    Gradle-Abhängigkeiten

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

    Nachdem die Umgebung vorbereitet ist, kann sie direkt verwendet werden und die Verwendungshaltung ist sehr, sehr, sehr einfach

    rrreee

    Die Eingangsklasse ChineseUtils unterstützt die Konvertierung zwischen Vereinfacht und traditionelles Chinesisch. Hier wird zwischen traditionellem Hongkong-Chinesisch und traditionellem Taiwan-Chinesisch unterschieden. Der Hauptunterschied zwischen den beiden besteht darin, dass einige Zeichen und die Namen der Wörter unterschiedlich sind

    Das Ausgabeergebnis des obigen Falls lautet wie folgt:

    🎜s2t -->Dies ist die Sanxing-Höhle des geneigten Mondes ... Langlebigkeitsnudeln, Sun Wukong, Zhu Bajie, Tang Monk, Monk Sha, White Drachenpferd, Li Jing, König der Pagoden, scherzhaft über die Reise in den Westen, viele Leute sagen: „Pack es ein und nimm das Gold“ = Cai
    s2hk --> Das ist die Sanxing-Höhle mit schrägem Mond ... Changshou-Nudeln, Sun Wukong, Zhu Bajie, Tang-Mönch, Mönch Sha, Weißes Drachenpferd, Li Jing, der König der Pagoden, scherzend über die Reise in den Westen, viele Leute sagen das: Räum auf, und du wirst abholen das Gold; Cai = Cai
    s2tw - -> , der König der Pagoden, scherzt über die Reise in den Westen. Viele Leute sagen Folgendes: Räumen Sie auf, und Sie werden das Gold aufheben. Talent = Talent
    t2s --> Dies ist die Drei-Sterne-Höhle von der geneigte Mond... Langlebigkeitsnudeln, Sun Wukong, Zhu Bajie, Tang-Mönch, Mönch Sha, Weißes Drachenpferd, Li Jing, der König der Pagoden, scherzhaft über die Reise in den Westen, viele Leute sagen es, aufräumen, pflücken up Gold ist nicht unwissend; talent=cai
    hk2s -->Diese Drei-Sterne-Höhle mit dem untergehenden Mond... Langlebigkeitsnudeln, Sun Wukong, Zhu Bajie, Tang Monk, Monk Sha, White Dragon Horse, Li Jing, der König der Pagoden, scherzt über die Reise in den Westen, viele Leute sagen das: Räumen Sie auf und heben Sie das Gold auf.
    tw2s -->Diese Drei-Sterne-Höhle mit den Schrägen Mond... Changshou-Nudeln, Sun Wukong, Zhu Bajie, Tang-Mönch, Mönch Sha, Weißes Drachenpferd, Li Jing und der König der Pagoden, scherzend über die Reise in den Westen, viele Leute sagen das: Räum auf und heb das auf Gold; Cai = Talent🎜
    🎜2. Vereinfachte und traditionelle Konvertierung, der Kern liegt in der Verwaltung des Wörterbuchs. Wenn die Konvertierung zum ersten Mal in der Klassenbibliothek implementiert wird, wird das Wörterbuch geladen und analysiert In die interne Datenstruktur von Dict kommt es daher beim ersten Aufruf zu einem zeitaufwändigen Problem des Kaltstarts Der Beamte stellt zwei Methoden für synchrones Vorheizen/asynchrones Vorheizen bereit. Beispielsweise wird der erste Parameter der Methode 🎜rrreee🎜preLoad verwendet, um zu steuern, ob es synchron oder asynchron ist. 🎜🎜Die folgenden Parameter sind Wörterbücher Sie möchten laden🎜🎜2.2 Deinstallieren🎜🎜Für Kundenfreunde, die möglicherweise mehr über diese Speichernutzung besorgt sind, können Sie die Deinstallation festlegen🎜rrreee🎜2.3 Allgemeine Methode 🎜🎜In der Im ersten Abschnitt werden verschiedene einzigartige Methoden zur Konvertierung bereitgestellt. Außerdem wird eine einheitliche Methode zum Konvertieren gemäß dem Wörterbuchtyp der übergebenen Parameter bereitgestellt, die für das Design einer einheitlichen API-Schnittstelle geeignet ist und entsprechend dem übergebenen Parameter zurückgegeben werden soll die entsprechende Ergebnisszene🎜rrreee

    Das obige ist der detaillierte Inhalt vonBeispielanalyse von Java Open Source und einer benutzerfreundlichen vereinfachten und traditionellen Konvertierungsklassenbibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen