Cet article partage avec vous l'exemple de la mise en œuvre de la mise en œuvre de Java Rendu pour votre référence. Le contenu spécifique est le suivant
Code
package com.hdwang; importer java.util.hashmap; import java.util.map; / ** * créé par Hdwang le 2017/12/19. * / public class MyTemplate {public static void main (String [] args) {String template = "$ {name}, $ {sexe}, $ {Birtyear} est né dans $ {Graduatyear}, et est diplômé de $ {University} dans $ {map}."; Map <string, string> params = new hashmap <> (); Params.put ("Name", "Zhang San"); Params.put ("Sex", "Male"); Params.put ("Birtyear", "1990"); Params.put ("Graduatyear", "2012"); Params.put ("University", "Tsinghua University"); Long start = System.CurrentTimemillis (); for (int i = 0; i <10000; i ++) {String result = render (modèle, params); if (i == 9999) {System.out.println (résultat); }} long fin = System.currentTimemillis (); System.out.println ("Temps de coût:" + (End-Start) + "MS"); start = System.currentTimemillis (); for (int i = 0; i <10000; i ++) {String result = render2 (modèle, params); if (i == 9999) {System.out.println (résultat); }} end = System.currenttimemillis (); System.out.println ("Temps de coût:" + (End-Start) + "MS"); } Public Static String Render (modèle de chaîne, map <String, String> Params) {// Utilisez un builder épissage pour améliorer beaucoup d'efficacité que String Add StringBuilder Builder = new StringBuilder (); // Définissez la variable de contrôle booléen $ begin = false; booléen parambegin = false; // booléen paramidend = false; StringBuilder key = null; // Match de boucle pour (int i = 0; i <template.length (); i ++) {char c = template.charat (i); // Démarrer l'identification if (c == '$') {$ begin = true; } if ($ begin && c == '{') {parambegin = true; builder.deletecharat (builder.length () - 1); // Supprimer la clé de caractères $ ajoutée = new StringBuilder (); continuer; }! } else {key.append (c); } continuer; } // end balise if (parambegin && c == '}') {// paramètre = true; // la valeur correspondant à la clé de paramètre builder.append (params.get (key.toString ())); // Réinitialise la variable de contrôle $ begin = false; parambegin = false; // paramètre = false; continuer; } // Builder par défaut.APPEND (C); // Ajouter des caractères} return builder.toString (); } public static String render2 (modèle de chaîne, map <string, string> params) {for (map.entry <string, string> entry: params.entryset ()) {string key = entry.getKey (); String value = entry.getValue (); template = template.replace ("$ {" + key + "}", valeur); } modèle de retour; }}Résultats en cours d'exécution
Zhang San, Homme, né en 1990, est diplômé de l'Université Tsinghua en 2012.
Temps de coût: 65 ms
Zhang San, Homme, né en 1990, est diplômé de l'Université Tsinghua en 2012.
Temps de coût: 161 ms
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.