zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    Sort
    MyOD
    Linux C语言编程基础(必做)
    团队作业(一):团队展示
    2.3.1测试
    《Unix/Linux系统编程》第四章学习笔记
    课堂测试2
    课堂测试
    第三章 Unix/Linux进程管理学习笔记
    团队作业(二):需求分析
  • 原文地址:https://www.cnblogs.com/yangh965/p/5087134.html
Copyright © 2011-2022 走看看