Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将字符串对象转换为字符串池对象?_Java_String - Fatal编程技术网

Java 如何将字符串对象转换为字符串池对象?

Java 如何将字符串对象转换为字符串池对象?,java,string,Java,String,我有一个String对象作为newstring(“abc”)如何将该对象转换为字符串池对象如果您的对象确实是新字符串(“abc”),那么您应该只使用“abc”,而不是创建一个新字符串并将其插入“abc”与所有字符串文本一样,都是内部的 String str= new String("abc").intern() // calling intern() will add the String object to the String pool. 即,下面的布尔运算将为真 "abc" =

我有一个String对象作为
newstring(“abc”)如何将该对象转换为字符串池对象

如果您的对象确实是
新字符串(“abc”)
,那么您应该只使用
“abc”
,而不是创建一个新字符串并将其插入<代码>“abc”
与所有字符串文本一样,都是内部的

   String str=  new String("abc").intern() // calling intern() will add the String object to the String pool. 
即,下面的布尔运算将为真

"abc" == new String("abc").intern()

如果您的对象确实是
新字符串(“abc”)
,那么您应该只使用
“abc”
,而不是创建一个新字符串并插入这个字符串<代码>“abc”与所有字符串文本一样,都是内部的

即,下面的布尔运算将为真

"abc" == new String("abc").intern()

好吧,你不能把一个字符串转换成一个字符串池。StringPool是由JVM管理的字符串的集合。 但是,如果字符串对象尚未创建为文本(否则已经存在),则可以通过使用字符串对象的intern()方法请求VM将其包含在池中来请求将其包含在池中


好吧,你不能把一个字符串转换成一个字符串池。StringPool是由JVM管理的字符串的集合。 但是,如果字符串对象尚未创建为文本(否则已经存在),则可以通过使用字符串对象的intern()方法请求VM将其包含在池中来请求将其包含在池中


但是,请记住在以后使用
intern
的返回值,而不是
newstring(“abc”)
,否则,您将无法对interned String进行操作<代码>“abc”。实习生()请。所以字符串不会被创建两次。@Vakh:但是
“abc.intern()
是垃圾。无论如何,字符串文本都会被拘留。好吧,
newstring(“abc”)
更像废话:)。实习的最简单的解决方案就是我同意的@gexicide
newstring(someString)
很难看。所以请建议我哪一个更好?但是记住以后使用
intern
的返回值,而不是
newstring(“abc”)
,否则,您将无法对interned String进行操作<代码>“abc”。实习生()请。所以字符串不会被创建两次。@Vakh:但是
“abc.intern()
是垃圾。无论如何,字符串文本都会被拘留。好吧,
newstring(“abc”)
更像废话:)。实习的最简单的解决方案就是我同意的@gexicide<代码>新字符串(someString)很难看。所以请建议我哪一个更好?很有意义。。“abc”将已添加到字符串池中。有意义。。“abc”将被添加到字符串池中。因此intern()不可用?当然,如果您创建或生成字符串,或者从不知道如何创建字符串的对象获取字符串,则它是有用的。只有当字符串被创建为文字时,它才是多余的好的,谢谢你Satyan Raina:)所以intern()没有用?当然,如果你创建或构建字符串,或者从一个你不知道它是如何创建的对象获取它,它是有用的。只有当字符串被创建为文字时,它才是多余的(谢谢你Satyan Raina:)