Este artigo compartilha com você o exemplo da implementação de Java, renderização de modelo simples para sua referência. O conteúdo específico é o seguinte
Código
pacote com.hdwang; importar java.util.hashmap; importar java.util.map;/*** criado por hdwang em 2017/12/19. */public class MyTemplate {public static void main (string [] args) {string model = "$ {name}, $ {sex}, $ {birthYear} nasceu em $ {gradateyear} e se formou em $ {University} em $ {map}"; Mapa <string, string> params = new hashmap <> (); params.put ("Nome", "Zhang San"); params.put ("sexo", "masculino"); params.put ("BirthYear", "1990"); params.put ("graduado", "2012"); params.put ("Universidade", "Universidade Tsinghua"); long start = system.currenttimemillis (); for (int i = 0; i <10000; i ++) {string result = render (modelo, params); if (i == 9999) {System.out.println (resultado); }} long end = System.currenttimemillis (); System.out.println ("Tempo de custo:"+(start final)+"ms"); start = system.currenttimemillis (); for (int i = 0; i <10000; i ++) {string resultado = render2 (modelo, params); if (i == 9999) {System.out.println (resultado); }} end = system.currenttimemillis (); System.out.println ("Tempo de custo:"+(start final)+"ms"); } public static string render (modelo string, mapa <string, string> params) {// use splicing do construtor para melhorar muita eficiência do que a string adição de stringbuilder construtor = new StringBuilder (); // Defina a variável de controle booleana $ BEGN = FALSE; boolean parambegin = false; // boolean paramend = false; Stringbuilder key = null; // loop corresponde a (int i = 0; i <template.length (); i ++) {char c = template.charat (i); // inicie a identificação se (c == '$') {$ BEGN = true; } if ($ Begin && c == '{') {parambegin = true; builder.deleteCharat (construtor.length ()-1); // exclua a chave de caractere $ adicionada = new StringBuilder (); continuar; } // Chave do parâmetro if (parambegin && c! = '}') {If (c == '{') {System.out.println ("modelo de formato de modelo! } else {key.append (c); } continuar; } // etiqueta final if (parambegin && c == '}') {// paramend = true; // o valor correspondente ao parâmetro Key Builder.append (params.get (key.toString ())); // Redefina a variável de controle $ iniciar = false; parambegin = false; // paramend = false; continuar; } // Builder padrão.append (c); // Adicionar caracteres} retornar construtor.toString (); } public static string render2 (modelo de string, mapa <string, string> params) {for (map.entry <string, string> entrada: params.entrySet ()) {string key = entrada.getKey (); String value = entradas.getValue (); modelo = modelo.replace ("$ {"+key+"}", valor); } modelo de retorno; }}Resultados de execução
Zhang San, homem, nascido em 1990, se formou na Universidade de Tsinghua em 2012.
Tempo de custo: 65ms
Zhang San, homem, nascido em 1990, se formou na Universidade de Tsinghua em 2012.
Tempo de custo: 161ms
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.