什么时候在 Velocity 中评估字符串?
When are strings evaluated in Velocity?
什么时候在 Velocity 中评估字符串?直接在初始化时还是在引用字符串时?
更好地说明问题的示例代码:
#set($mystring = "A ${myobj.mymethod()} B")
#foreach($element in $somelist)
$element $mystring
#end
因此该字符串包含一些速度代码。然后考虑以下代码:
#foreach($element in $somelist)
$element A $myobj.mymethod() B
#end
哪个性能更快,或者它们相等?
提前致谢。
第一种方法更快,因为第二种方法将在每次迭代时调用 $myobj.mymethod()
。
但是只要这个调用不是扩展性的,您也可以通过减少中间变量来提高代码的可读性。
什么时候在 Velocity 中评估字符串?直接在初始化时还是在引用字符串时?
更好地说明问题的示例代码:
#set($mystring = "A ${myobj.mymethod()} B")
#foreach($element in $somelist)
$element $mystring
#end
因此该字符串包含一些速度代码。然后考虑以下代码:
#foreach($element in $somelist)
$element A $myobj.mymethod() B
#end
哪个性能更快,或者它们相等?
提前致谢。
第一种方法更快,因为第二种方法将在每次迭代时调用 $myobj.mymethod()
。
但是只要这个调用不是扩展性的,您也可以通过减少中间变量来提高代码的可读性。