old*_*old 3 java string concatenation stringbuffer
您可以为使用一个或另一个更好,更快,更正确的变体提供什么参数.
第一个变种:
StringBuffer sql = new StringBuffer("SELECT DISTINCT f.ID ")
.append("FROM FIRST_TABLE F ")
.append("LEFT JOIN SECOND_TABLE s ON f.ID = s.F_ID ")
.append("WHERE ")
.append("F.BOOL = 1 ")
.append("AND S.DATE IS NOT NULL ")
.append("AND S.CLOSED = 0 ");
Run Code Online (Sandbox Code Playgroud)
第二种变体:
String sql = "SELECT DISTINCT f.ID " +
"FROM FIRST_TABLE F " +
"LEFT JOIN SECOND_TABLE s ON f.ID = s.F_ID " +
"WHERE "
"F.BOOL = 1 " +
"AND S.DATE IS NOT NULL " +
"AND S.CLOSED = 0";
Run Code Online (Sandbox Code Playgroud)
*for note:Class String和Class StringBuffer.
Jon*_*eet 11
第二个更好:
即使执行时间串联是必需的(例如,你必须在有一个变量),编译后的代码将使用一个StringBuilder或StringBuffer地方需要(取决于您的目标的Java版本).
请注意,如果您正在执行数据库查询,效率将完全无关紧要.
| 归档时间: |
|
| 查看次数: |
726 次 |
| 最近记录: |