3-2的问题

3-2的问题

1、

StringBuider的无参构造方法,有一个特点是生成16个字符,这是啥意思?


2、

老师,StringBuilder有没有像是String类的简单创建对象的方式,如:

StringBuilder str="我吃饱了呦!";


3、

StringBuilder str=new StringBuilder("你好");

str.append(',');

str.append("imooc!");------>这一步,也可以写成StringBuilder str1=str.append("imooc!");课程里说,这样可以为后面可能需要调用之类的做准备。老师,我困惑的是,str1指向的是新的对象还是和str一样,指向的还是原来的对象?


4、老师,StringBuilder类里的insert方法,括号里的参数(4,"MOOC"),指的是从index下标为4的地方开始插入MOOC字符串,包含4的位置,对吗?


5、String类中的repalce方法和StringBuilder中的replace方法是不是有区别啊?


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

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

2回答
好帮手慕小班 2019-06-24 20:09:12

        同学你好,1、StringBuilder代表的是一串字符串,当创建一个StringBuilder类的时候,也就是调用无参构造方法的时候,系统会在内存中默认给16个字符的长度!

        2、同学的理解是对的,因为StringBuilder的特性是可变长字符串,所以对str的操作在内存中还是对str进行的操作哦!  例如str1与str的地址就是一样的哦!

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

        3、StringBulider里的insert(4,"MOOC"),这里同学可以参考这个回答中的内容哦  http://class.imooc.com/course/qadetail/128243

        4、StringBulider中的replace方法

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

        String中的replace方法

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

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

好帮手慕小班 2019-06-23 18:23:38

        同学你好,1)、StringBuilder无参构造的初始容量是16个字符,

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

    2)、StringBuilder必须通过new来创建StringBuilder类型的对象

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

        3)、str1指向的是与str一样,指向的还是原来的对象哦!

        4)、StringBuilder类里的insert方法,括号里的参数(4,"MOOC"),是指从第四个字符的地方开始插入MOOC字符串!

        5)StringBuilder中的repalce方法

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

String中的replace方法

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

参数都不同哦!所以这里也是不一样的!

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


  • 提问者 鱼儿0001 #1
    谢谢老师的耐心回复。1、也就是说,StringBuilder的无参构造方法,参数默认是16个字符,这个滑稽啊,无参构造又不传参数,限制只能传16个字符有啥用?2、关于我问的第3个问题。看了老师的回复,再结合StringBuilder的特性去分析,str1和str都是指向原来的对象,那么,当StringBuilder str1=str.append("imooc!");后,str.append("巴拉巴拉");,这时候str1指向的就是带"巴拉巴拉"的原内存空间,对吗?其实就是str1==str,结果为true,对吗?3、StringBulider里的insert(4,"MOOC")这个4是指的index下标的数,还是指的是第四个字符串啊?是指从4后开始插吗?4、老师,StringBuilder里有没有只替换字符的replace方法,在String类中没有没替换字符串的方法?
    2019-06-24 15:56:35
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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