黑马程序员技术交流社区

标题: String作为参数传递时为什么要当做基本数据类型处理? [打印本页]

作者: showJiang    时间: 2016-8-4 14:40
标题: String作为参数传递时为什么要当做基本数据类型处理?
如题,求大神给出更准确、深刻的理解。
现在只是记住了,但这么设计肯定是有原因的吧,或者源码的书写思路是怎样的?

作者: loze    时间: 2016-8-4 15:22
string是常量他们的值在创建之后不能更改,即String 对象是不可变的,跟基本数据类型一样!
作者: 13411939415    时间: 2016-8-4 23:58
因为String类型数据创建后是不能改变的,无法通过类似set方法什么的来修改它的属性值。
把String类型的s1当做参数传给方法的时候,由方法里的形式参数s1接受它的地址值,此时形式参数和实际参数指向同一个对象,当形式参数s1的值发生改变时,实际是形式参数s1指向了新的对象,与原本的实际参数s1之间就没有了联系,因此方法里面的s1改变不会使方法外的s1发生改变,这样跟基本数据类型基本一样
作者: walkk    时间: 2016-8-5 00:01
楼上说得好有道理




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2