A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Jarc 高级黑马   /  2016-9-11 16:23  /  595 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

基本数据类型作参数传递时,不会改变其值;那么引用数据类型、string、StringBuff作为参数传递会改变其值吗?

4 个回复

倒序浏览
String是字符串常量,不会改变;其它引用数据类型和StringBuff会改变值,因为存储在堆内存的对象中。
回复 使用道具 举报
参数传递是:如果是基本类型,值不会改变,在栈中改变值,在方法弹栈就会失去作用
如果是引用类型,在堆中改变值,通过栈中的地址指向堆中的值.
String有自己的常量池,可以理解和基本类型一致.(但不是真的一样)
回复 使用道具 举报
会的,引用数据类型作为参数传递,传递的是地址值,而string比较特殊由于存在字符串缓冲区,并不会发生变化
回复 使用道具 举报
string的值存在常量区不会改变
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马