我们知道String
是不可变的,这意味着每次都会创建一个新实例。
我的问题是,如果我写:
System.out.println("Java"+"is"+"programming");
然后在池中创建了多少个对象?
答案 0 :(得分:0)
答案 1 :(得分:-1)
您的示例将创建一个字符串对象。请注意Java documentation。
{{3}}我理解它的方式,Java只在最初创建时向字符串池添加新字符串。所以,
String str1 = "hello";
池中的单个字符串。
所以
String str2 = "Java" + "is" + "cool";
答案 2 :(得分:-1)
您的示例将创建单个'只有字符串
String x = "Javaisprogramming";
因为' +'是java中的字符串连接运算符(它在内部调用append()),因此当您调用System.out.println("Java"+"is"+"programming");
时,编译器会从连接中创建一个字符串对象,并使用println()
方法发送它。
了解更多关于' +'运营商看到此answer