• String StringBuffer StringBuilder 三者之间的区别


    今天被公司骗去面试,好糟心......

    这个问题不管去哪里面试,基础问题基本上都会问到这个问题。网上好多大神都总结,这里自己也总结一下。

    首先我们最开始学的就是String字符串常量,这里有行代码 String str = "hello"+"world"+"!";其实这行代码与下面几行表示的是相同的含义;

    String s = "hello world !"; str与s是等效的。

    String s1 = "hello";

    String s2 = "world";

    String s3 = "!";

    String s4 = s1 + s2 + s3;//

    对,也就是说这里JVM创建了四个对象,String是不可变对象。

    StringBuffer 是字符串变量,线程安全,

    StringBuffer sb = new StringBuffer();

    sb.append("hello").append("world").append("!");//这行代码的执行效率要快于 s4的执行效率。

    System.out.prientln(sb);// hello world !

    StringBuilder 是字符串变量,是线程非安全的

    三者使用区别:

    要操作的字符串数量少的话可以使用String;如果数量很大,建议使用StringBuffer,多线程操作字符串缓冲区 下操作大量数据 要使用 StringBuffer

    单线程操作字符串缓冲区 下操作大量数据 使用 StringBuilder

    或许有些地方说的不对,后续继续学习完善。

  • 相关阅读:
    【洛谷P3389 【模板】高斯消元法】
    清北学堂培训2019.4.7
    清北学堂培训2019.4.6
    清北学堂培训2019.4.4
    个人对于数论的一点整理
    【洛谷P1134 阶乘问题】
    【洛谷P1313 计算系数】
    【洛谷P2822 组合数问题】
    【NOIP数论内容整理】
    特斯拉全自助驾驶芯片初始Meet Tesla FSD SoC
  • 原文地址:https://www.cnblogs.com/yangh965/p/5087134.html
Copyright © 2020-2023  润新知