关于String创建几个对象的问题

本文通过一道笔试题探讨了Java中String对象的创建。分析了`String s1="aa"; String s2="aa";`只创建了一个对象的情况,解释了String对象在常量池的原理。并通过代码示例展示了`new String()`创建新对象的情况,强调了字符串池的作用以及使用字符串字面量创建对象的高效性。
摘要由CSDN通过智能技术生成

   今天去笔试一家外包公司,有这个一道笔试题,自己答错了,回来查看了一哈资料,分享一哈!

问:String s1="aa";        String s2="aa"; 这两段代码创建了几个对象?

   本人回答的是3个。当时是这样想的:首先String s1="aa"  会先在常量区找aa,没有自己创建一个,这里就一个对象了;s1我也想当然的觉得是创建了一个对象,这就两个了;String s2="aa";此时aa在常量区已经存在了,就不会再创建,只创建s2,就是第三个对象,所以答案就是3个,我还信心满满地认为这个答案是正确的,其实我错了!


  String不在我们8大基本类型之中,是一个java.lang.String 的类,在Java中对象的创建都是通过构造器使用关键字new出来的,但是String也可以直接申明一个String s1,但是并没有创建这个对象s1,只表示s1是String类型的,所以这题答案是:只穿件了一个对象aa.

<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值