Este artículo comparte con usted el ejemplo de Representación de plantilla simple de implementación Java para su referencia. El contenido específico es el siguiente
Código
paquete com.hdwang; import java.util.hashmap; import java.util.map;/*** creado por Hdwang el 2017/12/19. */public class mytemplate {public static void main (String [] args) {String Template = "$ {name}, $ {Sex}, $ {birthyear} nació en $ {graduateyear}, y se graduó de $ {universidad} en $ {map}"; Map <string, string> params = new HashMap <> (); params.put ("nombre", "zhang san"); params.put ("sexo", "masculino"); params.put ("bucleyear", "1990"); params.put ("Graduateyear", "2012"); params.put ("Universidad", "Universidad Tsinghua"); Long Start = System.CurrentTimemillis (); for (int i = 0; i <10000; i ++) {string dult = render (plantlate, params); if (i == 9999) {System.out.println (resultado); }} Long End = System.CurrentTimemillis (); System.out.println ("Tiempo de costo:"+(endsalt)+"MS"); start = System.CurrentTimemillis (); for (int i = 0; i <10000; i ++) {string dult = render2 (plantilla, params); if (i == 9999) {System.out.println (resultado); }} end = System.CurrentTimemillis (); System.out.println ("Tiempo de costo:"+(endsalt)+"MS"); } public static string render (plantilla de cadena, map <string, string> params) {// use el empalme del constructor para mejorar una gran cantidad de eficiencia que la adición de cadena StringBuilder Builder = new StringBuilder (); // Defina la variable de control boolean $ begin = false; boolean parambegin = falso; // boolean paramend = false; StringBuilder Key = NULL; // bucle coincidente para (int i = 0; i <platplate.length (); i ++) {char c = Template.charat (i); // Iniciar identificación if (c == '$') {$ begin = true; } if ($ begin && c == '{') {parambegin = true; builder.deletecharat (builder.length ()-1); // Eliminar la tecla de caracteres $ carácter agregado = new StringBuilder (); continuar; } // Key de parámetro if (parambegin && c! = '}') {If (c == '{') {System.out.println ("¡Error de formato de plantilla! Posición:"+i); } else {key.append (c); } continuar; } // end etiqueta if (parambegin && c == '}') {// paramend = true; // El valor correspondiente a la tecla de parámetro Builder.append (params.get (Key.ToString ())); // Restablecer la variable de control $ begin = false; parambegin = falso; // paramend = false; continuar; } // predeterminado builder.append (c); // agregar caracteres} return builder.ToString (); } public static String render2 (plantilla de cadena, map <string, string> params) {for (map.entry <string, string> entry: params.entryset ()) {string key = entry.getKey (); Valor de cadena = Entry.getValue (); Template = Template.replace ("$ {"+Key+"}", valor); } plantilla de retorno; }}Resultados de ejecución
Zhang San, hombre, nacido en 1990, se graduó de la Universidad de Tsinghua en 2012.
Tiempo de costos: 65 ms
Zhang San, hombre, nacido en 1990, se graduó de la Universidad de Tsinghua en 2012.
Tiempo de costos: 161 ms
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.