從頭認識java 11 1 不變的字串

2021-09-02 13:04:22 字數 799 閱讀 3850

這一章節我們來討論一下不變的字串。

為什麼說是不變?

我們先看string 的構造器

public string()

其中裡面的value,我們再看一下:

/** the value is used for character storage. */

private final char value;

value的識別符號是final,因此,字串在編譯器裡面是不可原地修改。

package com.ray.ch11;

public class test

}

輸出:false

在轉換的過程中,其實是把「a」這個字串物件複製乙份,然後再進行轉換。

我們可以點進去touppercase方法裡面,裡面需要注意的有兩句:

system.arraycopy(value, offset, result, 0, firstupper);

return new string(0, count+resultoffset, result);

第一句是把傳入的值複製乙份,然後第二句在最後new乙個新的字串出來。

然後,大家可以在string 這個類的源**裡面搜尋一下return new string,你會發現,你常用的那些方法,基本都是返回乙個新的字串。

這一章節就到這裡,謝謝。目錄

從頭認識java 1 5 繼承(2)

接著上一章節,我們來繼續介紹繼承。1.子類呼叫方法時的查詢方法的順序 package com.ray.ch01 public class animal public void sleep package com.ray.ch01 public class bird extends animal pu...

從頭認識java 7 4 實現多重介面

這一章節我們來說一下介面另乙個特性 多重介面。在平常,使用繼承,我們只是繼承某一類,只能夠一種向上轉型,但是在介面的使用方面,可以實現多個介面,然後實現多種的向上轉型。我們先上 package com.ray.ch07 public class test public static void tes...

從頭認識java 8 6 匿名內部類

這一章節我們來討論一下匿名內部類。我們之前已經提到了內部類,如下 package com.ray.ch03 public class test private mytest mytest public static void main string args inte ce mytest 上面的內部...