在Java中,字符串的实现

2023年 8月 28日 48.2k 0

在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);
}
}

登录后复制

输出

Checking equality of object 2 and 3 :
true
Checking equality of object 3 and 4 :
false

登录后复制

一个名为Demo的类包含了主函数。在这里定义了三个String对象的实例,其中第二个字符串是第一个字符串与不同值的连接。第三个字符串是对第二个字符串调用' intern '函数。使用'=='运算符比较这些字符串,并将结果显示在控制台上。

以上就是在Java中,字符串的实现的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论