Maison  >  Article  >  Java  >  Exemple d'analyse de Java open source et bibliothèque de classes de conversion simplifiée et traditionnelle facile à utiliser

Exemple d'analyse de Java open source et bibliothèque de classes de conversion simplifiée et traditionnelle facile à utiliser

PHPz
PHPzavant
2023-05-11 08:19:051213parcourir

    1. Exemple d'expérience

    Utilisez maven pour la gestion de projet Vous pouvez le télécharger directement depuis l'entrepôt central et l'ajouter. au fichier pom Les dépendances suivantes sont suffisantes

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

    Description : La version 0.2.6 a été téléchargée le 11/08/2022. Si vous ne la trouvez pas dans le mvn. Warehouse, pas de panique Vous pouvez utiliser 0.2.50.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;

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

    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 支持简繁互转,这里区分了香港繁体 + 台湾繁体,两者的主要区别在于某些字、词的叫法不一样

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

    上面的case输出结果如下:

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

    2. 进阶使用

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

    2.1 预热

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

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

    preLoad

    Si vous utilisez gradle pour la gestion de projet, les dépendances sont également très simples

    // 卸载所有词典
    ChineseUtils.unLoad(TransType.values());
    // 卸载简繁互转词典
    ChineseUtils.unLoad(TransType.SIMPLE_TO_TRADITIONAL, TransType.TRADITIONAL_TO_SIMPLE);
    #🎜 🎜#De plus, pour les amis avec un réseau médiocre, vous pouvez également utiliser les dépendances jitpack Import de la manière suivante, la posture spécifique est la suivante

    dépendance maven

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

    dépendance progressive

    rrreee#🎜 🎜#Une fois l'environnement préparé, vous pouvez l'utiliser directement La posture d'utilisation est très, très simple

    rrreee#🎜. 🎜#La classe d'entrée ChineseUtils prend en charge la conversion entre le chinois simplifié et le chinois traditionnel, et le chinois traditionnel de Hong Kong se distingue ici + le chinois traditionnel de Taiwan, la principale différence entre les deux est que les noms de certains caractères et mots sont différent

    De manière générale, vous pouvez utiliser le chinois simplifié et traditionnel le plus simple

    #🎜🎜# ci-dessus Les résultats de sortie du cas sont les suivants : #🎜🎜#
    #🎜🎜#s2t --->C'est la grotte à trois étoiles de la lune inclinée... nouilles de longévité, Sun Wukong, Zhu Bajie, moine Tang, moine Sha, cheval dragon blanc, Li Jing, roi Tota du ciel, plaisantant sur le voyage vers le Ouest, beaucoup de gens disent ça, rangez et ramassez l'or ; Cai = Cai
    s2hk --> Cette grotte trois étoiles dans la lune couchante... Changshou Noodles, Sun Wukong, Zhu Bajie, Tang Monk, Sha Monk, Bai Longma, Li Jing, le roi des pagodes, plaisantant sur le voyage vers l'Ouest, beaucoup de gens disent ceci, rangez et vous pourrez récupérer l'or Cai = Cai
    s2tw --> Ces trois-là ; -grotte des étoiles dans la lune couchante... nouilles de longévité, Sun Wukong, Zhu Bajie, moine Tang, moine Sha, cheval dragon blanc, Li Jing, roi des pagodes, ont plaisanté sur le voyage vers l'ouest, beaucoup de gens ont dit ceci , faites le ménage, et vous n'ignorerez pas ramasser de l'or ; Cai = Cai
    t2s --> Cette grotte trois étoiles avec la lune couchante... longévité Noodles, Sun Wukong, Zhu Bajie, Tang Monk, Le moine Sha, le cheval dragon blanc, Li Jing, la pagode du roi, en plaisantant sur le voyage vers l'Ouest, beaucoup de gens disent ceci, emballez-le et récupérez l'or Cai = Cai
    hk2s --> Ce sont les trois étoiles ; de la grotte de la lune inclinée... Nouilles Changshou, Sun Wukong, Zhu Bajie, moine Tang, moine Sha, cheval dragon blanc, Li Jing, roi de la pagode, plaisantant sur le voyage vers l'ouest, beaucoup de gens disent cela, emballez-le et choisissez jusqu'à l'or ; Cai = Cai
    tw2s -- >C'est la grotte à trois étoiles de la lune inclinée...... Nouilles Changshou, Sun Wukong, Zhu Bajie, Moine Tang, Moine Sha, Dragon Blanc Cheval, Li Jing, le roi des pagodes, plaisantant sur le voyage vers l'Ouest, beaucoup de gens disent cela, emballez-le et récupérez l'or Cai = Cai# 🎜🎜#
    #🎜🎜#2. utilisation de #🎜🎜##🎜🎜# Conversion simplifiée et traditionnelle, le noyau réside dans la gestion du dictionnaire Lorsque la conversion est implémentée pour la première fois, la bibliothèque de classes modifiée chargera le dictionnaire et l'analysera. structure des données Dict ; par conséquent, le premier appel provoquera le problème fastidieux du démarrage à froid #🎜🎜##🎜🎜#2.1 Échauffement#🎜🎜##🎜🎜#Sur cette base, vous pouvez trouver l'endroit approprié Préchauffer et chargez d'abord le dictionnaire ; le fonctionnaire propose deux méthodes de préchauffage synchrone/asynchrone, telles que #🎜🎜#rrreee#🎜🎜#Le premier paramètre de la méthode preLoad est utilisé pour contrôler la synchronisation. asynchrone #🎜🎜##🎜🎜#Les paramètres suivants sont le dictionnaire que vous souhaitez charger #🎜🎜##🎜🎜#2.2 Désinstallation #🎜🎜##🎜🎜# Il y a aussi une désinstallation avec préchauffage, pour les clients Amis sur le terminal peut être plus préoccupé par cette utilisation de la mémoire ; pour les dictionnaires inutiles, vous pouvez spécifier de désinstaller #🎜🎜#rrreee#🎜🎜#2.3 Méthode générale #🎜🎜##🎜🎜#Exemples d'utilisation dans la première section , fournit diverses méthodes uniques pour réaliser la conversion ; il fournit également une méthode unifiée pour effectuer la conversion en fonction du type de dictionnaire des paramètres passés ; il convient à la conception d'une interface API unifiée et renvoie le scénario de résultat correspondant en fonction des paramètres passés #🎜 🎜 #rrreee

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer