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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张清华 中级黑马   /  2015-6-7 23:15  /  521 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        public class StringDemo {
        public static void main(String[] args) {
                String s="abc";
                change(s);
                System.out.println(s);//abc
        }
        public static void change(String s){
                s+="hello";
                System.out.println(s);//abchello
        }
        }
两个输出的结果为什么 一个是abc 一个是abchello

3 个回复

倒序浏览
String类型是存在常量池中的,所以你可以把String当作基本数据类型来理解,所以形参的改变不会引起实参的变化,如果你把String当作引用类型理解那就错了,虽然字符串是对象,但它是一个很特殊的对象。
回复 使用道具 举报
String是特殊的引用型数据,在做实参传入的时候,相当于基本数据类型的规则,也就是,不影响实参的结果,参数的改变只是在方法内部。
回复 使用道具 举报
好的 非常感谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马