question- 下面的字符串在字符串池中合并之后是否占用内存,将会回答什么?为什么?
public class Test1234 {
public static void main(String[] args) {
final String s1="jlc";
final String s2="india";
String s3=s1+s2; String s4="jlcindia";
System.out.println(s3==s4);
}
}
答案 0 :(得分:1)
它将打印true
,因为s1
和s2
是字符串文字并被声明为final
,因此s3 = s1 + s2
被视为常量并在编译期间被解析时间。因此,s3
和s4
将引用字符串池中的相同字符串。
如果您删除了final
个关键字,则会打印false
。