求大神指教String

来源:2-2 Java 中字符串的不变性

夏飞雪

2016-11-22 19:18

String s1="I  love  you";与String s2=new String("I love you");的区别。为什么练习中只能用第一种不能用第二种

写回答 关注

2回答

  • Nuriko
    2016-11-24 00:30:57
    已采纳

    第一种如果"I  love  you"这个字符串不存在,则创建一个String对象(“ABC”),然后s1指向这个内存地址,无论以后用这种方式创建多少个值为"I  love  you"的字符串对象,始终都指向这个内存地址。

    第二种直接创建新的对象,不管字符串相不相同,分配地址不同,直接==的话都返回false




    第一种

    夏飞雪

    非常感谢!

    2016-11-25 16:18:56

    共 1 条回复 >

  • qq_空望一指流砂_03571420
    2016-11-22 20:10:26

    他俩的区别在于后面是创建了对象的,如果你定义string s1 = "aa"  s2 = "aa",那么

    s1和s2的值和地址都是相同的,用new则不同

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题