我对这两件事感到困惑。我需要帮助。请消除我的疑问,字符串常量池和字符串池是否是同一个概念。我在面试时遇到了这个问题。我已经阅读了很多网站和博客,但我的疑问没有消除。请消除我的疑虑。
提前致谢。
两者都是一回事。字符串常量池包含常量字符串对象。Constant可以定义为 String 对象在编译时保存值。有关更多信息,请参阅JLS。
String s="abc";
String s1="def";
String s2=s+"def";
String s3="abc"+"def";
System.out.println(s2==s3); // print false
Run Code Online (Sandbox Code Playgroud)
但是,如果您将其s设为 final,那么
final String s="abc";
String s1="def";
String s2=s+"def";
String s3="abc"+"def";
System.out.println(s2==s3); // print true
Run Code Online (Sandbox Code Playgroud)
在上面的情况下s3是一个编译时间常量,因为 s 是 final 。
| 归档时间: |
|
| 查看次数: |
2187 次 |
| 最近记录: |