为什么 String s1="hello" String s2 = new String("hello") s1==s2 为flase

Posted zhongmeilin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么 String s1="hello" String s2 = new String("hello") s1==s2 为flase相关的知识,希望对你有一定的参考价值。

    String s2 = new String("hello")  创建三个对象  若常量池中没有hello 创建一个 hello 对象 再在堆中创建一个new String 对象 还有 一个栈中的 数据类型为String s2的变量

    s2所保存的地址是堆中创建对象地址

     String s1="hello" 查看字符串常量池中有无hello对象 无则创建对象 返回地址值 若有 则直接返回地址值

 

以上是关于为什么 String s1="hello" String s2 = new String("hello") s1==s2 为flase的主要内容,如果未能解决你的问题,请参考以下文章

字符串拼接的多种方式

字符串拼接的多种方式

关于java,String类,输出结果是啥?为啥?

string

STL基础--String

JAVA中字符串的startWith啥意思?