Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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,在Java中,以下两段代码之间有区别吗?我正在寻找内存使用和字符串池方面的答案 第一: String s = new String(); s = "abcdef"; 第二点: String s = new String("abcdef"); 谢谢。您在第一个对话框中创建并赋值。在第二个例子中,你只是做了一个创造。在第一个进程中,处理器活动几乎增加了两倍。说到记忆,没有区别 和字符串池对您的问题的解释: 在第一种情况下,创建两个字符串,一个为空,另一个为abc。。。。在第二种情况下,只有一种

在Java中,以下两段代码之间有区别吗?我正在寻找内存使用和字符串池方面的答案

第一:

String s = new String();

s = "abcdef";
第二点:

String s = new String("abcdef");

谢谢。

您在第一个对话框中创建并赋值。在第二个例子中,你只是做了一个创造。在第一个进程中,处理器活动几乎增加了两倍。说到记忆,没有区别

和字符串池对您的问题的解释:


在第一种情况下,创建两个字符串,一个为空,另一个为abc。。。。在第二种情况下,只有一种。其中包含了很多关于这方面的信息。如果各种各样的问题和答案中有什么让你不明白的,那么一个具体的问题会更有用。这里的第一条评论是完全不正确的。这两种情况都会创建两个字符串对象。字符串文本被截取并存储在字符串池中。为什么内存没有差异?在第一种情况下,您实际上创建了两个字符串对象。@gregory561-在第二种情况下,您创建了两个字符串对象;这个文字不会神奇地消失——它会进入字符串池。