Java-Java String 常量池

发布于 2016-11-27 06:13:13 字数 469 浏览 1239 评论 1

常量池的定义是否是不同的类创建不同的常量池,
但是

public class World
{
public static void main(String[] args)
{
Conner a = new Conner();
String s1="abc";
String s2=a.s1;

System.out.println(s2 == s1);
}
}

public class Conner
{
String s1="abc";
public static String s()
{
return "abc";
}
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清晨说ぺ晚安 2017-06-22 07:41:06

/**
* Initializes a newly created {@code String} object so that it represents
* the same sequence of characters as the argument; in other words, the
* newly created string is a copy of the argument string. Unless an
* explicit copy of {@code original} is needed, use of this constructor is
* unnecessary since Strings are immutable.
*
* @param original
* A {@code String}
*/
public String(String original) {
this.value = original.value;
this.hash = original.hash;
}

这是string的源码,可以看出是先new一个对象后,拷贝值到数组中,不同的对象,所以地址也不一样

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文