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个对象。
顺便膜拜楼上几位。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 网页利用NC文件数据生成云图
- ¥15 vivo手机的101root检测通常包括Bootloader状态检测吗,有没有懂的人来回答下?
- ¥15 c++ 单例模式 在不项目之间的引用问题
- ¥15 我想在微信名中用上红桃♥️这个表情 可是保存不了 说是有特殊符号或者不支持的语言 需要怎么做呢
- ¥15 oracle报skip not validate connection
- ¥15 请问左奇异向量怎么求解呢?
- ¥15 有偿求一款知识付费+流量主支付宝小程序开源
- ¥15 Arcgis pro制图
- ¥15 vivado综合时间过长
- ¥15 uniapp时间组件切换语言问题