gpt4 book ai didi

java - intern() 是否在池中创建了一个文字?

转载 作者:行者123 更新时间:2023-12-02 03:42:43 25 4
gpt4 key购买 nike

String s1=new String("abcd");
s2=s1.intern();

据说,intern() 将在池中创建一个字符串文字(如果该字符串尚不存在)。

我的问题是何时会出现字符串对象存在但不存在文字的情况?并且 intern() 必须实际创建一个新的文字,然后返回对文字的引用。

最佳答案

例如:

String first = "ab";
String second = "cd";
String interned = first.concat(second).intern();

程序中的大多数字符串都是动态创建的:通过连接值、通过套接字接收它们、从文件或数据库、或者从控制台或 GUI 读取它们。

请注意,您的术语是错误的。 intern() 不会创建字符串文字。它将一个字符串添加到池中,并且字符串文字(即在字节码中按字面意思出现的字符串,如 "abcd"),以及显式驻留字符串。

关于java - intern() 是否在池中创建了一个文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36657267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com