这些字符串连接会发生什么?

时间:2013-07-09 14:00:02

标签: java core

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); 
   } 
 }

1 个答案:

答案 0 :(得分:1)

它将打印true,因为s1s2是字符串文字并被声明为final,因此s3 = s1 + s2被视为常量并在编译期间被解析时间。因此,s3s4将引用字符串池中的相同字符串。

如果您删除了final个关键字,则会打印false