相关疑难解决方法(0)

如何使用""初始化字符串?

如果String是一个类,就像其他任何类一样,如何使用双引号初始化它?

java string

154
推荐指数
5
解决办法
1万
查看次数

关于Java的字符串池的问题

考虑以下代码:

String first = "abc"; 
String second = new String("abc");
Run Code Online (Sandbox Code Playgroud)

使用new关键字时,Java会abc String再次创建吗?这会存储在常规堆还是String池中?多少人String在将s结尾String池?

java string string-pool

68
推荐指数
3
解决办法
2万
查看次数

使用+运算符concat时创建的新String对象在哪里

我知道这可能很基本,也可能很直接,但我无法清楚地理解在这种情况下会发生什么,所以,就这样吧。

在以下代码中:

String str1 = "Hello";
String str2 = "World";
String str3 = new String("HelloWorld");
String str4 = str1 + str2;
Run Code Online (Sandbox Code Playgroud)

我知道 str1 和 str2 将在String Constant Pool分别创建一个对象“Hello”和“World” 。对于 str3,在String Constant Pool外部创建了一个新对象,该对象指向String Constant Pool内部创建的“HelloWorld” 。

我的问题是,如果我连接 2 个或更多字符串(使用 '+' 或 concat() 方法)会发生什么?

是否会像String str3一样在池创建一个新对象,或者 str4 将直接指向String Constant Pool的对象“HelloWorld”

PS:如果它是在池创建新对象的情况,那么不使用new关键字如何发生?

java string string-concatenation

5
推荐指数
1
解决办法
4681
查看次数

标签 统计

java ×3

string ×3

string-concatenation ×1

string-pool ×1