zoukankan      html  css  js  c++  java
  • String StrigBuffer StringBuilder 浅解

    1.String是最基本的字符串类,用于表示字符串。

    特点:对象内容不可变,但可以通过指向不同的对象来“表示”不同的内容。

    使用场景:如果不涉及到内容改变,可以使用String。

    注意:如果想将String作为输出型参数,抱歉,做不到。 方法返回后,内容还是没有赋上值。具体原因就得追究到内存原理上了。此处不再叙述。

    2.StringBuffer:针对String要改变内容必须指向别的对象的缺陷而设计,StringBuffer可以直接改变其内容,不需要指向别的对象。

    特点:内容可改变(通过append/insert等方法); 线程安全。

    使用场景:字符串内容需要不断进行改变的地方,比如不断重组,且需要保证线程安全。

    3.StringBuilder:同StringBuffer。

    与StringBuffer区别在于:StringBuffer是线程安全的,而StringBuilder是线程不安全的。但效率上来说,StringBuilder比StringBuffer高。

    使用场景:字符串内容需要不断进行改变的地方,比如不断重组,且就是在单线程中使用,不涉及到线程安全。

    综上可知,实际中的场景应该是使用String和StringBuilder比较多。 

  • 相关阅读:
    数组中出现次数超过一半的数字
    Trie字典树算法
    字符串匹配算法 之 基于DFA(确定性有限自动机)
    实现栈最小元素的min函数
    有关有环链表的问题
    浅谈C中的malloc和free
    undefined reference to 'pthread_create'问题解决
    用两个栈实现队列
    resf规范
    单例模式
  • 原文地址:https://www.cnblogs.com/Anidot/p/6985064.html
Copyright © 2011-2022 走看看