关于StringBuilder多次调用append()。。

乐之者v 2017-11-24 03:45:49
直接用字符串拼接会浪费内存,影响性能。
我这边会在循环里多次调用,所以不想用字符串拼接。
但是如果用StringBuilder,如果我想要拼接8个变量,那不是要调用append()八次?
StringBuilder sb=new StringBuilder();
sb.append().append().append().append().append() ;
看着好累。有没有优雅一点的写法??
...全文
1264 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
墨笙弘一 2017-11-28
  • 打赏
  • 举报
回复
引用 2 楼 Ragin 的回复:
没有或者自己封装个。
public class JavaTest {

    public StringBuilder stringBuilder(String... str) {

        StringBuilder stringBuilder = new StringBuilder();
        if (str == null || str.length <= 0) return stringBuilder;
        
        for (int i = 0; i < str.length; i++) {
            stringBuilder.append(str[i]);
        }

        return stringBuilder;
    }

    public static void main(String[] args) {
        String str1 = "1";
        String str2 = "2";
        String str3 = "3";
        String str4 = "4";
        StringBuilder stringBuilder = new JavaTest().stringBuilder(str1, str2, str3, str4);
    }
}
好像阿里的规范里面不建议用这种参数形式。。。。。 具体原因不太了解
Clumsy__Cat 2017-11-28
  • 打赏
  • 举报
回复
把多个变量放到数组里,直接append数组就行了
一个治疗术 2017-11-24
  • 打赏
  • 举报
回复
楼上正解,封装个方法 用可变参数传参就不用写那么多 append 了
Braska 2017-11-24
  • 打赏
  • 举报
回复
没有或者自己封装个。
public class JavaTest {

    public StringBuilder stringBuilder(String... str) {

        StringBuilder stringBuilder = new StringBuilder();
        if (str == null || str.length <= 0) return stringBuilder;
        
        for (int i = 0; i < str.length; i++) {
            stringBuilder.append(str[i]);
        }

        return stringBuilder;
    }

    public static void main(String[] args) {
        String str1 = "1";
        String str2 = "2";
        String str3 = "3";
        String str4 = "4";
        StringBuilder stringBuilder = new JavaTest().stringBuilder(str1, str2, str3, str4);
    }
}
碩果 2017-11-24
  • 打赏
  • 举报
回复
jdk1.5之后,虚拟机编译后会对字符串拼接的代码译成Stringbuilder拼接,如果不是在循环里,还是可以直接拼接字符串的,但是你这种情况,将就一下吧

62,630

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧