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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© heima0503 中级黑马   /  2015-5-21 21:10  /  183 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class StringXingCan {
        /**
         *我认为,视频讲的不对.String不是特殊的引用型. String所传递的就是地址.而不是常量值
         *
         * 假设,"abc"地址为 0x0012
         *
         * 然后,在change()方法中, 把常量池中0x0012这个地址,传递给形参s
         *
         * 当执行语句 s += "world"时, 由于String不能改变, 所以原0x0012的"abc"依然存在.
         *
         * 只能产生新的String,"abcworld",假设地址为0x0022
         *
         * main()方法中,打印s时,打印的是 0x0012地址, 所以打印的是 "abc"
         */
        public static void main(String[] args) {
                String s = "abc";
                String change = change(s);
                System.out.println(change);
        }

        private static String change(String s) {
                s += "world";
                return s;
        }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马