问答详情
源自:2-2 Java 中字符串的不变性

只有常量字符串多次出现时,才创建一个对象吗?变量字符串就不行?

s3==s4?

提问者:幕粉一枚 2016-10-05 20:58

个回答

  • 幕粉一枚
    2017-04-02 15:30:17

    一个常量字符串在内存中创建,则与其字符串内容相同的字符串的地址与此字符串相同(为了节省存储空间,所以共用),对于变量字符串,每一个变量对应一个地址。

  • 幕粉一枚
    2016-10-05 21:40:13

    想明白了,字符串常量池,目的是为了节省空间。

    同一个包下同一个类中的字符串常量的引用指向同一个字符串对象;

    同一个包下不同的类中的字符串常量的引用指向同一个字符串对象;

    不同的包下不同的类中的字符串常量的引用仍然指向同一个字符串对象;