StringBuilder - 使用连接和使用追加循环

Kev*_*ave 1 java string performance stringbuilder

想知道什么是最好的使用方式:

StringBuilder query = new StringBuilder(" Select * from mytable t where ");
for ( Object object : objects ) {
     query.append(" t.field = " + object.field ); // this one OR
     query.append( object.field );                // this one? 
}
Run Code Online (Sandbox Code Playgroud)

不确定推荐使用哪一个.

Dan*_*roa 6

字符串构建器要快得多,因此不建议连接超过3-4个字符串(在循环之外),并且绝对不在循环中,我建议你这样做:

for ( Object object : objects ) {
     query.append(" t.field = ");
     query.append( object.field ); 
}
Run Code Online (Sandbox Code Playgroud)