Java实现简单的模板渲染
本文实例为大家分享了Java实现简单的模板渲染,供大家参考,具体内容如下
代码
packagecom.hdwang;
importjava.util.HashMap;
importjava.util.Map;
/**
*Createdbyhdwangon2017/12/19.
*/
publicclassMyTemplate{
publicstaticvoidmain(String[]args){
Stringtemplate="${name},${sex},${birthYear}年出生,${graduateYear}年毕业于${university}。";
Mapparams=newHashMap<>();
params.put("name","张三");
params.put("sex","男");
params.put("birthYear","1990");
params.put("graduateYear","2012");
params.put("university","清华大学");
longstart=System.currentTimeMillis();
for(inti=0;i<10000;i++){
Stringresult=render(template,params);
if(i==9999){
System.out.println(result);
}
}
longend=System.currentTimeMillis();
System.out.println("costtime:"+(end-start)+"ms");
start=System.currentTimeMillis();
for(inti=0;i<10000;i++){
Stringresult=render2(template,params);
if(i==9999){
System.out.println(result);
}
}
end=System.currentTimeMillis();
System.out.println("costtime:"+(end-start)+"ms");
}
publicstaticStringrender(Stringtemplate,Mapparams){
//使用builder拼接,比string相加提高不少效率
StringBuilderbuilder=newStringBuilder();
//定义控制变量
boolean$Begin=false;
booleanparamBegin=false;
//booleanparamEnd=false;
StringBuilderkey=null;
//循环匹配
for(inti=0;iparams){
for(Map.Entryentry:params.entrySet()){
Stringkey=entry.getKey();
Stringvalue=entry.getValue();
template=template.replace("${"+key+"}",value);
}
returntemplate;
}
}
运行结果
张三,男,1990年出生,2012年毕业于清华大学。
costtime:65ms
张三,男,1990年出生,2012年毕业于清华大学。
costtime:161ms
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。