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

字符串创建,什么时候用new一个对象来创建,什么时候可以直接创建呀

难道只有我一个人这道题运行不了吗?为什么第二个字符串要用new,而不可以直接像第一个那样子?

提问者:慕瓜7073846 2018-04-02 22:33

个回答

  • 学霸985
    2019-02-24 20:26:32

    我也好奇这个,,

  • _青梅煮酒
    2018-07-23 08:51:08

    字符串可以直接赋值的,运行出错应该不是这的问题,你看看是不是忘加分号之类的。

    他给的例子应该就是为了让你了解字符串有两种创建方法,

    1. string a = “啦啦啦”;

    2. string b = new string(“啦啦啦”);

    一种给一个而已。

    new出来其实不如直接赋值,new一个string的话会占用两个空间,直接赋值只需要一个。反正字符串常量都是不可重新赋值的,我还是喜欢直接赋值,还省事还省地。

  • 我是叶霖
    2018-05-08 19:42:12

    由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下:

                                String s = “abc”;

                                s = “Java语言”;

                       其实按照面向对象的标准语法,其格式应该为:

                                String s = new String(“abc”);

                                s = new String(“Java语言”);

    只是按照面向对象的标准语法,在内存使用上存在比较大的浪费。例如String s = new String(“abc”);实际上创建了两个String对象,一个是”abc”对象,存储在常量空间中,一个是使用new关键字为对象s申请的空间。


  • 慕瓜7073846
    2018-04-03 22:25:32

    用String不可以new一个对象吗


  • cdzmy
    2018-04-03 00:08:28

    创建对象时,如果你要用StringBuilder或者StringBuffer需要new关键字