String,StringBuffer和StringBuilder的区别

一、String字符串

    1. 实例化String对象:(一)直接赋值                例:String str1 = "hello";

                                   (二)使用关键字new      例:String str2 = new String("hello");  (在堆内存中开辟了两个空间

                                                                                 String,StringBuffer和StringBuilder的区别_第1张图片        

    2. String内容的比较:(一)"=="       比较的是地址     例: 上面的例子中 str1 == str2将会返回一个flase的结果(地址不同

                                      (二)"equals"   比较的是内容                               str1.equals(str2) 将返回的是true(内容相同

    

   3.String内容不能更改:String str = "hello";    String str1 = str + "word"


String,StringBuffer和StringBuilder的区别_第2张图片


二 、StringBuffer

     (一)操作字符串,与String不同,StringBuffer可以更改

        (二)常用方法 append(),insert(),replace(),indexOf()

        (三)StringBuffer的应用

            String,StringBuffer和StringBuilder的区别_第3张图片(新开辟50个堆空间,内容不可更改)


        String,StringBuffer和StringBuilder的区别_第4张图片(更改了内容)  


三、StringBuilder    

        (一):一个可变的字符序列,该类被设计作为StringBuffer的简易替换,用在字符串缓冲区被单个线程使

                        用于的时候,建议优先考虑该类,速度比StringBuffer要快。涉及到线程安全方面,建议使用StingBuffer。


你可能感兴趣的:(java学习笔记)