if (StringUtils.isNotBlank(fsNum)){sql.append("fsNum = '");sql.append(fsNum);sql.append("'");}if(StringUtils.isNotBlank(fiStatus)){sql.append("fiStatus = '");sql.append(fiStatus);sql.append("'");}if (StringUtils.isNotBlank(fsNum)){sql.append("fsNum = '"+fsNum+"'");}if(StringUtils.isNotBlank(fiStatus)){sql.append("fiStatus = '"+fiStatus +"'");}請教,以上兩種情況你會怎么選擇呢,原因是什么呢
5 回答

開心每一天1111
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個贊
考慮性能的話,當(dāng)然是第一種。
第二種又回到string的老路上去了,失去意義了。
話說
現(xiàn)在應(yīng)該都用StringBuilder,而不是StringBuffer。
這樣寫流行些吧。
[code="java"]
sql.append("fsNum = '").append(fsNum).append("'");
[/code]

瀟湘沐
TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個贊
兩者現(xiàn)在已經(jīng)沒什么區(qū)別了, 直接字符串連接, 編譯器會對代碼進(jìn)行優(yōu)化, 內(nèi)部還會使用Stringbuilder append 的。。。 :oops:

動漫人物
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個贊
不考慮多線程的情況下,兩種方式是一樣的,編譯器編譯的時候會把string的+操作用StringBuilder.append來代替的

慕妹3242003
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個贊
當(dāng)使用多個+符號時,編譯器是會進(jìn)行優(yōu)化的,并不會創(chuàng)建多個string的對象
添加回答
舉報(bào)
0/150
提交
取消