StringBuffer.replace(),会产生新的对象吗
StringBuffer.replace() 和String.replace()有什么区别,分别适用于哪些场景
StringBuffer.replace(),会产生新的对象吗
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
正则表达式1951 2021-09-03 13:01关注StringBuffer.replace(),是在原字符串上进行替换,不会产生新对象
String.replace(),会产生新对象(String是不可变字符串)public StringBuffer replace(int start, int end, String str): 第一个参数为起始索引,第二个参数为结束索引,第三个参数为新的字符串(即你要替换为什么)(索引含头不含尾)public String replace(char oldChar, char newChar): 第一个参数是旧字符,第二个参数是新字符 还有一个重载的方法: public String replace(CharSequence target, CharSequence replacement): 第一个参数是旧字符序列(即旧字符串),第二个参数是新字符序列(即新字符串)StringBuffer stringBuffer = new StringBuffer("hello, world"); StringBuffer sb = stringBuffer.replace(0, 5, "HELLO"); System.out.println("sb = " + sb); // sb = HELLO, world System.out.println("stringBuffer = " + stringBuffer); // stringBuffer = HELLO, world String str = "hello, world"; String s = str.replace("hello", "HELLO"); System.out.println("str = " + str); // str = hello, world System.out.println("s = " + s); // s = HELLO, world本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用