gpt4 book ai didi

java - 连接常量字符串 VS StringBuffer

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:40:43 25 4
gpt4 key购买 nike

对于使用一种或另一种更好、更快、更正确的变体,您可以给出哪些论据。

第一个变体:

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 ");

第二种变体:

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";

*注:Class StringClass StringBuffer .

最佳答案

第二种更好:

  • 更清晰(更多的代码与您想要的有关)
  • 效率更高,因为所有的连接都是在编译时完成的

即使需要执行时连接(例如,您在那里有一个变量),编译后的代码也会使用StringBuilderStringBuffer 需要的地方(取决于您的目标 Java 版本)。

请注意,如果您正在执行数据库查询,效率将微不足道。

关于java - 连接常量字符串 VS StringBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13530294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com