String、StringBuilder、StringBuffe

2022-05-21  本文已影响0人  _JYN_

讲在前面

public static void main(String args[]){
    //基本用法
    StringBuilder sb = new StringBuilder();

    //通过append方法添加字符串
    sb.append("周末也要学习");
    sb.append(",提升只争朝夕");
    //通过toString方法获取构建后的字符串
    System.out.println(sb.toString());

    //String可以直接使用+和+=运算符,java编译器一般会生成StringBuilder,+和+=操作会转换为append,例如
    String hello = "hello";
    //这里会转换为 StringBuilder hello = new StringBuilder("hello")
    hello += ",world";
    //这里会转换为 hello.append(",world")
    System.out.println(hello);
    //这里会转换为 System.out.println(hello.toString());

    //简单情况下可以直接使用String的+和+=,但对于复杂情况,尤其是有循环的时候,应该直接使用StringBuilder,例如
    String hi = "hello";
    for(int i=0; i<3; i++){
        hi += ",world";
        //这里相当于:
        //StringBuilder sb = new StringBuilder(hi);
        //sb.append(", world");
        //hi = sb.toString();
        //在for循环中会生成过多的StringBuilder
    }
    System.out.println(hi);

    //重新写一下
    StringBuilder hi_again = new StringBuilder("一定要多多");
    for(int j=0; j<3; j++){
        hi_again.append("练习");
    }
    System.out.println(hi_again.toString());
}
上一篇 下一篇

猜你喜欢

热点阅读