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的线程不安全体现在哪里?效率高又体现在哪里?

  • 相关阅读:
    集训队日常训练20180518-DIV1
    集训队日常训练20180513-DIV1
    python类的使用与多文件组织
    性能指标
    python调用.so
    动态链接库的使用
    python读写xml文件
    使用python读取文本中结构化数据
    python画图
    numpy及scipy的使用
  • 原文地址:https://www.cnblogs.com/alisonGavin/p/6923667.html
Copyright © 2011-2022 走看看