在JAVA语言中,这两种创建String字符串变量的区别在哪? - 爱问答

(爱问答)

在JAVA语言中,这两种创建String字符串变量的区别在哪?

在JAVA语言中,这两种创建String字符串变量的区别在哪?

我看见老师的代码创建String变量是String B = new String("Hello,World!");

我是用上面另外一种简单的方法写的,不知道区别在哪里,求帮助!

在创建String对象时,通常来讲,有两种方式,一是new型:String s = new String("abc");另一种是双引号型:String s = "abc";那么这两种方式有什么区别呢?答:这两种方法生成的字符串对象,在内存中的存取机制不同。java为String类型提供了缓冲池机制,当使用双引号定义对象时,java环境首先去字符串缓冲池寻找相同内容的字符串,如果存在就直接拿出来应用,如果不存在则创建一个新的字符串放在缓冲池中。示例代码如下:String a = "tom";String b = "tom";在上诉代码中,变量a和b使用的是缓冲区中的同一个存储对象。在使用String构造方法定义对象时,java环境会和创建其他类型的对象一样,每次调用时,都会去创建一个新的对象。示例代码如下:String a = new String("tom");String b = new String("tom");在上述代码中,变量a 和b 使用的是两个不同的存储对象,只是对象中的内容相同。

效果上其实是没有区别,只不过第二种是先新建一个string对象,然后存进去,而第一种是直接存进去,满意请采纳

下一篇:请教电脑大神帮我看看我的电脑配置,总感觉玩LOL卡

上一篇:请教大神!C1单元格填写日期后,A1、B1单元格如何自动填充底色,如图所示。

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?