在Java中,字符串的实现
字符串池化是一种过程,其中存储了每个不同字符串值的单个副本。除此之外,字符串是不可更改的。这样,字符串可以包含相同的数据并共享相同的内存。这样,所需的内存将大大减少。
当调用'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); } }登录后复制