zoukankan      html  css  js  c++  java
  • 2.1 String的特性

    1. String 

      String 字符串是不可变的,体现在于String str = "123" + "asd";

      在java底层,有字符串"asd","123", "123asd"三个字符串,

      str是引用类型,str  = "123" +"asd",只是将 "123asd"的地址给str,让str指向"123asd"字符串。

      总结,对于String的不可变性,体现在于字符串的拼接, 

    为什么String字符串要设计成不可变性?

      原型是String字符串在内存设计为线程成共享的,  java的设计者觉得String的共享的效率要高于字符串的拼接的效率。

    在java.lang.String类中使用private final char[] value;来存储字符串的字符。

    ====================================

    1.String  不可变字符串,是 final对象,不会被修改,每次使用 + 进行拼接都会创建新的对象,而不是改变原来的对象;

    2.StringBuffer 可变字符串,主要用于字符串的拼接,属于线程安全的;

    3.StringBuilder 可变字符串,主要用于字符串的拼接,属于线程不安全的;

    StringBuffer的线程安全体现在哪里? 效率低又体现在哪里?

    Stringbuilder的线程不安全体现在哪里?效率高又体现在哪里?

  • 相关阅读:
    07-汤姆猫
    快捷键
    UIImageView属性
    UIImagePickerController
    UIDatePicker
    并发编程简介
    区别值类型数据和引用类型数据
    用条件属性而不是#if
    选择is或者as操作符而不是做强制类型转换
    始终使用属性(Property),而不是字段(Data Member)
  • 原文地址:https://www.cnblogs.com/alisonGavin/p/6923667.html
Copyright © 2011-2022 走看看