为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

5 回答

我也好奇这个,,

0 回复 有任何疑惑可以回复我~

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

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

  1. string a = “啦啦啦”;

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

一种给一个而已。

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

1 回复 有任何疑惑可以回复我~

由于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申请的空间。


2 回复 有任何疑惑可以回复我~

用String不可以new一个对象吗


0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信