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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 在学野马 中级黑马   /  2014-10-10 19:30  /  1114 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 在学野马 于 2014-10-10 19:33 编辑

public static void main(String[] args) {
                // TODO Auto-generated method stub

                        String ss="abcdef"  ;
                                ss.replace("abc","bca");
                                System.out.println(ss);
                                ss.substring(2,5);
                                System.out.println(ss);

        }
结果怎么不变啊

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 淡定

查看全部评分

6 个回复

倒序浏览
ss=  ss.substring(2,5);
回复 使用道具 举报
十万一千 发表于 2014-10-10 19:32
ss=  ss.substring(2,5);

额,,拙计了
回复 使用道具 举报
wf111sxwf 来自手机 中级黑马 2014-10-10 23:59:26
板凳
你没有定义变量去接收这个子串 所以第二次打印的还是整串
回复 使用道具 举报
因为String类已确定就不可以被改变。。当你对这个类进行操作时,都会返回新的string类,而你只是操作而没把最后的结果赋值给引用变量,所以ss一直都没变
回复 使用道具 举报
你打印的还是之前的字符串ss,因为ss.subString(2,5)截取后应该把值再赋给ss
回复 使用道具 举报
查阅API,看看返回值再提问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马