字串池化是一種過程,其中儲存了每個不同字串值的單一副本。除此之外,字串是不可更改的。這樣,字串可以包含相同的資料並共享相同的記憶體。這樣,所需的記憶體將大大減少。
當呼叫'intern'函數時:
它檢查兩個字串之間的相等性-即字串物件是否存在於字串常數池( SCP)中。
如果可用,字串將從池中取得並傳回。否則,將建立一個新的字串物件並新增到池中。也會傳回對該字串物件的引用。
對於兩個字串'a'和'b',當且僅當a.equals(b)傳回true時,a.intern() == b.intern( )為true。
讓我們來看一個範例:
示範
public class Demo{ public static void main(String[] args){ String s1 = new String("Its"); String s2 = s1.concat("sample"); String s3 = s2.intern(); System.out.println("Checking equality of object 2 and 3 :"); System.out.println(s2 == s3); String s4 = "Its a sample"; System.out.println("Checking equality of object 3 and 4 :"); System.out.println(s3 == s4); } }
Checking equality of object 2 and 3 : true Checking equality of object 3 and 4 : false
一個名為Demo的類別包含了主函數。這裡定義了三個String物件的實例,其中第二個字串是第一個字串與不同值的連接。第三個字串是對第二個字串呼叫' intern '函數。使用'=='運算子比較這些字串,並將結果顯示在控制台上。
以上是在Java中,字串的實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!