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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戒爱 中级黑马   /  2014-2-20 23:12  /  1032 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String replace(oldChar,newChar)
String replace(charSequence目标,charSequence替换)
这两个有什么不一样的地方,使用时怎么做选择?

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

3 个回复

倒序浏览
首先给你看看API文档的描述,
replace(char oldChar, char newChar)
          返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
     举例:"mesquite in your cellar".replace('e', 'o')
         returns "mosquito in your collar"
replace(CharSequence target, CharSequence replacement)
          使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
     
简单点说上面替换的主要是单个字符,而下面可以用单个字符来替换字符子串(并且是从左往右的顺序)。

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
zzkang0206 + 1 赞一个!
戒爱 + 3 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 kkopopo 于 2014-2-20 23:48 编辑

replace(char oldChar, char newChar)
String replace(String target,String replacement)
楼主我这样写你应该明白了吧  
CharSequence 是String实现了接口!

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
戒爱 + 3
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 luoanjade 于 2014-2-21 00:17 编辑

楼上说的就是API里面的内容,先顶一下!
上面重载的replace(char oldChar, char newChar)和replace(CharSequence target, CharSequence replacement) 这两个方法:
首先,从参数来看,前者是一个简单的数据类型,后者是个接口;
其次,前者替换的是单个字符,就是楼上举的例子那样。
CharSequence 是一个接口,它的已有实现类:CharBuffer, Segment, String, StringBuffer, StringBuilder
由此可以举个例子就知道了:
    String str = "aaaaaaaqwccccccqweeeeeee";
    StringBuffer sb1 = new StringBuffer("qw");
    StringBuilder sb2 = new StringBuilder ("BB");
    String newStr = str.replace(sb1,sb2);
这样返回的结果是:aaaaaaaBBccccccBBeeeeeee
简言之,就是前者替换单个字符,后者替换子字符串。

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
戒爱 + 3
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马