zoukankan      html  css  js  c++  java
  • String、StringBuffer与StringBuilder的区别

    比较String和StringBuffer:

    1. String是不可变类,String对象一旦被创建,其值将不能被改变;StringBuffer是可变类,当对象被创建后仍可以对其值进行修改。

        当一个字符串经常需要被修改时,最好使用StringBuffer来实现。因为如果使用String,就会生成很多无用的对象,由于这些对象会被GC回收,因此会影响程序的性能。

    2. 当实例化String时,有两种方式进行初始化,分别为:String s = new String("Hello")和String s = "Hello";而StringBuffer只能使用构造函数的方式进行初始化,即StringBuffer sb = new StringBuffer("Hello");

    StringBuilder:

         类似StringBuffer,也是可变类。但不同的是,StringBuilder不是线程安全的,而StringBuffer是线程安全的(因为String是不可变类,所以String也是线程安全的)。

    总结:

    1. 如果要操作的数据量比较小,应优先使用String类;

    2. 如果是在单线程下操作大量数据,应优先使用StringBuilder类;

    3. 如果是在多线程下操作大量数据,应优先考虑StringBuffer类。

  • 相关阅读:
    [codevs]失恋28天题目系列
    [NOIP1998]最大数
    [codevs4247]奇特的生物
    [codevs1380]没有上司的舞会
    [codevs2152]滑雪
    [codevs2171]棋盘覆盖
    [codevs2170]悠闲的漫步
    [codevs1557]热浪
    [codevs1554]最佳课题选择
    nodejs建站+github page 建站问题总结
  • 原文地址:https://www.cnblogs.com/jiqianqian/p/6559803.html
Copyright © 2011-2022 走看看