zoukankan      html  css  js  c++  java
  • Java开发基础知识之学习篇——String

    String 、StringBuffer 和StringBuilder 的区别是什么?从几个方面来解释。

    1、可变性

     String类中使用final关键字字符数组保存字符串,它的长度是不可变的。

     StringBuffer 和 StringBuilder 都继承自AbstractStringBuilder类,而在AbstractStringBuilder中也是使用字符数组保存字符串,但是没有用final关键字修饰,所以这两种对象都是可变的。

    2、线程安全性

     String中的对象是不可变的,就是常量,线程安全。

     StringBuffer 对方法加了同步锁(使用synchronized 关键字修饰),因此是线程安全的。

     StringBuild 对方法没有加同步锁,所以是非线程安全的。

    3、执行效率

     三者在执行速度方面的比较:StringBuilder > StringBuffer >String 

    4、应用场景

      操作少量数据用 String 

      单线程操作大量数据字符串用 StringBuilder

      多线程操作大量数据字符串用 StringBuffer

  • 相关阅读:
    GIL
    CRM2Stark组件
    Django图书管理系统(单表操作)
    Python(ATM机low版)
    Python(9-18天总结)
    Python(1-8天总结)
    Python习题(分页显示)
    Python文本操作2
    Python递归二分法
    Python文本操作
  • 原文地址:https://www.cnblogs.com/cokeHuan/p/11897899.html
Copyright © 2011-2022 走看看