开发者社区 问答 正文

String创建对象问题字符串常量池问题

String a=new String("aaaa")如果之前常量池没有aaaa字符串,那么这句代码具体创建的是几个对象?

展开
收起
蛮大人123 2016-06-02 14:50:14 2560 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    string是比较特殊的。
    new String就好比开了一个空间里面装着aaa而且有了自己的地址符。也就是说是一个对象了。
    而String a也是一个对象,你要记得每个类型都有默认值的,但是后面的等于号是将new String的地址符给了a,这时a也指向那个空间,于是它的值也是aaa.
    其实在工作编程中是不用这么计较的,用一个定义一个就好。
    String是类型,也就是说它有默认值,你记得这一点就行了。只不过它也可以像实例化对象一样赋值。
    希望回答对你有帮助.

    2019-07-17 19:24:54
    赞同 展开评论