iteye_6632 2011-08-16 16:58
浏览 201
已采纳

java String 问题

String str = new String (“Practical ”) ; str += “Java” ; 共产生几个对象?为什么?

  • 写回答

7条回答 默认 最新

  • icezx 2011-08-18 16:03
    关注

    String是不变的。
    也就是说 String a=“aa”是不变的。
    此时a指向存放着值“aa”的内存地址
    当a=+“bb”的时候,这时候原先a到“aa”的指向断开了,
    转而指向 “aabb”的地址了。

    所以该题:

    产生第一个对象“Practical” --第一个对象
    String str = new String () --第二个对象
    str--〉(指向)第一个对象“Practical” --此时没产生对象
    “Java” --产生第三个对象
    “java”+“Practical” --产生第四个对象。

    str--〉指向 第四个对象,但没有产生新对象。

    所以一共产生4个对象。

    顺便膜拜楼上几位。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥100 网页利用NC文件数据生成云图
  • ¥15 vivo手机的101root检测通常包括Bootloader状态检测吗,有没有懂的人来回答下?
  • ¥15 c++ 单例模式 在不项目之间的引用问题
  • ¥15 我想在微信名中用上红桃♥️这个表情 可是保存不了 说是有特殊符号或者不支持的语言 需要怎么做呢
  • ¥15 oracle报skip not validate connection
  • ¥15 请问左奇异向量怎么求解呢?
  • ¥15 有偿求一款知识付费+流量主支付宝小程序开源
  • ¥15 Arcgis pro制图
  • ¥15 vivado综合时间过长
  • ¥15 uniapp时间组件切换语言问题