ホームページ  >  記事  >  Java  >  Java オープンソースと使いやすい簡略化および従来の変換クラス ライブラリの分析例

Java オープンソースと使いやすい簡略化および従来の変換クラス ライブラリの分析例

PHPz
PHPz転載
2023-05-11 08:19:051211ブラウズ

    1. エクスペリエンスの例

    プロジェクト管理に Maven を使用します。中央倉庫から直接ダウンロードして、次の依存関係を pom ファイルに追加できます

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

    説明: 0.2.6 バージョンは 2022-08-11 にアップロードされました。mvn ウェアハウスで見つからなくても、慌てる必要はありません。## を使用できます。 #0.2.5 まずは

    gradle をプロジェクト管理に使用する場合、依存関係も非常に簡単です

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

    さらに、ネットワークが弱い友人のために、依存関係をインポートすることもできます。具体的な姿勢は以下の通りです

    maven依存関係
    <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依存関係
    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;
    }

    環境を用意したら、使用姿勢は非常にシンプルです

    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));
    }

    エントリークラス

    ChineseUtils 簡体字中国語と繁体字中国語の変換をサポートしており、香港繁体字と台湾繁体字はここで区別されます。 2 つの違いは、一部の文字と単語の呼び方が異なることです。

    通常、一般的に、簡体字中国語と繁体字中国語の間で最も単純な相互運用性を使用できます。

    上記の場合の出力結果は次のとおりです。以下:

    s2t -->ここは斜月の三星洞です...長寿麺、孫悟空、朱八傑、唐僧、沙僧、白龍馬、李静、塔王、西遊記を冗談にして、多くの人がこう言い、荷物をまとめて金を拾います; Cai=cai

    s2hk -->月が沈むこの三ツ星の洞窟... ;。 ..長寿麺、孫悟空、朱八傑、唐僧、沙僧、白龍馬、李静、塔王、西遊記の冗談、多くの人がこう言う、掃除して金を拾う、蔡=蔡
    s2tw --> この仙岳三星洞…長寿麺、孫悟空、朱八傑、唐僧、沙僧、白龍馬、李静、塔王、西遊記のジョーク、多くの人が言うこれを梱包して金を拾いましょう; Cai = Cai
    t2s -->ここは斜月のある三星の洞窟です.... 長寿麺、孫悟空、朱八傑、唐僧、僧侶沙、白龍馬、李静、そして塔の王。多くの人が西遊記について冗談を言いますが、多くの人がこう言います、片付けてください、そうすれば金を拾うことができます; Only = Only
    hk2s -->ここは斜月の三星洞です... 長寿麺、孫悟空、朱八傑、唐僧、沙僧、白龍馬、李静、王塔、西遊記の冗談、多くの人がそう言います、きれいにしてください、金を拾うことは無知ではありません;タレント=cai
    tw2s -->斜月のあるこの三星の洞窟...長寿麺、孫悟空、朱八傑、唐僧、僧侶沙、白龍馬、李静、王塔、西遊記について冗談を言う、多くの人々 こうやって片付けて、そうすればお金を失うことはありません; Cai = Cai

    2.

    簡略化された変換と従来の変換の高度な使用法、中心となるのは辞書の管理であり、クラス ライブラリが初めて変換されるときに、辞書がロードされ、内部データ構造 Dict に解析されます。 ; したがって、初めて呼び出すと、コールド スタートの時間のかかる問題が発生します

    2.1 ウォームアップ

    これに基づいて、必要に応じて辞書を予熱してロードできます。公式では、同期予熱/非同期予熱の 2 つのメソッドが提供されています。たとえば、

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

    preLoad メソッドの最初のパラメーターで、同期を制御するために使用されます。引き続き非同期

    次のとおりです。パラメータはロードする辞書です。

    2.2 アンインストール

    予熱後のアンインストールもありますが、これはクライアント パートナーが可能な場合があります。このメモリ使用量にさらに注意を払ってください。不要な辞書については、次のようにすることができます。アンインストールを指定する

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

    2.3 一般的なメソッド

    最初のセクションの使用例では、さまざまな独自のメソッドが提供されています。変換の実装と、辞書の種類に応じて変換するための統一されたメソッドも提供されます。渡されたパラメータ。統合 API インターフェイスの設計に適しており、渡されたパラメータに基づいて対応する結果シナリオを返します

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

    以上がJava オープンソースと使いやすい簡略化および従来の変換クラス ライブラリの分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。