gpt4 book ai didi

java - 字符串加运算符和字符串生成器追加有什么优缺点?

转载 作者:行者123 更新时间:2023-12-02 01:34:13 28 4
gpt4 key购买 nike

我有硬编码的 SQL 查询,它使用 string + 运算符进行字符串连接,我即将用 stringBuilder append 替换 String + 运算符,我只需要比较这两种方法的优缺点。

示例代码:

   insertStat = CMSCon.prepareStatement("INSERT INTO PROFILE"
+ " (PROFILECODE,DESCR,CTYPE,"
+ " STAT,CR,AMOUNT,PERCENTAGE,COMB,CMETHOD,"
+ " LASTUPDATEDUSER,LASTUPDATEDTIME,CREATEDTIME)"
+ " VALUES (?,?,?,?,?,?,?,?,?,?,SYSDATE,SYSDATE)");

将被这样的东西取代

 StringBuilder sb = new StringBuilder();
insertStat = CMSCon.prepareStatement(sb.append("INSERT INTO PROFILE")
.append(" (PROFILECODE,DESCR,CTYPE,")
.append(" STAT,CR,AMOUNT,PERCENTAGE,COMB,CMETHOD,")
.append(" LASTUPDATEDUSER,LASTUPDATEDTIME,CREATEDTIME)")
.append((?,?,?,?,?,?,?,?,?,?,SYSDATE,SYSDATE)").toString());

最佳答案

无论如何,编译器都会将 String+ 转换为对 StringBuilder 的调用。因此,在您的示例中,最终没有性能差异,因为最终的字节码应该几乎相同(您可能需要使用 javap 自己检查)。

因此,通常情况下,您仅在必须在循环中连接数据(并且性能很重要)时才手动使用 StringBuilder。

否则,您倾向于“更好的可读性”代码,您最常(并非总是)使用 String+ 来实现这一点。

关于java - 字符串加运算符和字符串生成器追加有什么优缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55486600/

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