正在回答
同学你好,首先StringBuilder也是可以+操作的,只是不建议哟。
注:字符串的“+”操作其本质是创建了StringBuilder对象进行append操作,然后将拼接后的StringBuilder对象用toString方法处理成String对象。
同学可参考如下代码理解:
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
同学你好,final修饰的类不能被继承,这里同学理解是正确的。很抱歉,这里老师给出截图的未截完整,现已经修改。望谅解,
首先final表示最终的,
用final修饰的变量叫常量,给定值后不能修改
用final修饰的类不能被继承
用final修饰的方法不能被重写
这里可以看到String真正存储数据的地方在与char value[]. 存储在一个数组内, 且其定义为final类型. 也就是这个引用是不可改变的。且其声明为private类型的. 在外界无法访问
简单理解,String对象其实在内部就是一个个字符然后存储在这个value数组里面的。但是value对外没有setValue的方法,所以整个String对象在外部看起来就是不可变的。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
同学你好,
1、在使用StringBuilder时,尽量不要“+”和StringBuilder混用,否则会创建更多的StringBuilder对象
2、理解是可以的,String类是一个典型的不可变类,当实例对象创建后,就不能再被改变。
简单来说:String类中使用final关键字修饰字符数组来保存字符串,所以String对象是不可变的。而StringBuffer和StringBuilder都继承了AbstractStringBuilder类,在AbstractStringBuilder中没有使用final关键字修饰,所以这两种对象都是可变的
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星