2-15的问题

2-15的问题

http://img1.sycdn.imooc.com//climg/5d0f214a000104d305540125.jpg

1、老师,这个contact方法的作用和使用规则是什么?

str1.contact(str2),是创建了新的对象吗?


2、

老师,String类的replace()方法的双参数是什么样的?

String类的对象具有不可变性,那么replace方法不就改变了里面的字符了吗?

改变字符后,原来的引用不就指向新的对象了吗?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小班 2019-06-23 17:59:00

        同学你好,1)、str1.concat(str2)中,concat方法是把str1和str2的内容连接起来,然后把连接后的值输出,并没有改变str1和str2的值 。使用规则是只能String类型的引用来调用这个方法,并且参数也要是String类型的数据!

String s1="im";
String s2="ooc";
s1.concat(s2);

        2)、replace方法是替换完字符串后,指向一个新的字符串

http://img1.sycdn.imooc.com//climg/5d0f4bdc0001aaab15040593.jpg

replace方法并没有改变原有的字符串内容,而是在内存中重新开辟一个空间来存放新的字符串,改变原有的地址!比如:

http://img1.sycdn.imooc.com//climg/5d0f4d510001f81907020408.jpg

        如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 鱼儿0001 #1
    谢谢老师的耐心回复。1、我问的第一个问题,老师忘回答了一个小问:str1.contact(str2),是创建了新的对象吗?如果创建了,是在常量池还是堆空间创建的?2、看了老师的图文介绍,大概懂了,老师你看看是这意思吗:replace(要被替换的旧字符,新字符),String s1="abccd";---->String s2=s1.replace('c','e');----->最后,s1还是="abccd",s2="abeed";老师,是这意思吗?
    2019-06-24 15:01:01
  • 好帮手慕小班 回复 提问者 鱼儿0001 #2
    同学你好,1)、这里的contact方法,如果添加的参数字符串的长度为0,那么返回的就是原来的这个字符串,否则,添加的字符串长度就不为0,返回的就是添加后的新的字符串! 2)、同学的理解是正确的哦 如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-06-24 19:45:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师