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

© 来男. 中级黑马   /  2014-5-4 11:53  /  1002 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Haha{
        public static void main(String args[]){

                String r = new String("itheima");

                System.out.println(r.replace('i','1'));    //1

                System.out.println(r);   //2
        }
}

想问个概念问题:String r...后建立了Itheima两个对象,经过1、2后他们各自的变化过程是怎样的?

4 个回复

倒序浏览
本帖最后由 伍叶竹 于 2014-5-4 12:51 编辑

一点理解:
创建两个对象这一点相信你已经很清楚。那么,就简单了。
replace 方法返回值是新的字符串,所以打印的是:1the1ma
下面打印的是原来的r指向的串:itheima
回复 使用道具 举报
String 特点:字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中。
回复 使用道具 举报
本帖最后由 雪碧拌米饭 于 2014-5-4 14:13 编辑

String.replace()的作用是返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定的字符串。经过System.out.println(r.replace('i','1'));    中replace("i","1")将itheima中所有的i替换成1,并返回一个新的字符串1the1ma,
但这个字符串并不覆盖原有的itheima字符串,所以原来的字符串r打印出来还是itheima,所以运行结果是
1the1ma
itheima


回复 使用道具 举报
结果为:
1the1ma
itheima
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马