问答详情
源自:2-1 什么是 Java 中的字符串

求解答,创建一个字符串对象

String s1="imooc";与String s3=new String("imooc");两者都是创建一个字符串对象,但有什么区别吗?

提问者:Slienceperson 2015-04-10 16:16

个回答

  • 连宏伟HW
    2016-01-26 16:30:48

    楼上正解

  • Perona
    2015-04-10 17:03:19

    String s1="imooc";创建一个字符串对象s1="imooc";时,Java运行时(运行中JVM)会拿着这个"imooc";在String池中找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串"imooc";,否则,不在池中添加。

    String s3=new String("imooc");使用new关键字来创建对象,则一定会(在堆区或栈区)创建一个新的对象。这里就是直接创建字符串"imooc"对象。