Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Java中没有StringBuilder.replace()_Java_String_Stringbuilder - Fatal编程技术网

为什么Java中没有StringBuilder.replace()

为什么Java中没有StringBuilder.replace(),java,string,stringbuilder,Java,String,Stringbuilder,来自.NET语言的帖子 我想知道同样的答案是否也适用于java 我检查发现 StringBuilder builder = ...; builder = new StringBuilder(builder.toString().replace("from", "to")); 由于StringBuilder,因此效率低下。toString()是一项昂贵的操作 为什么JAVA没有字符串生成器类中的replace方法?来自: StringBuilder对象与字

来自.NET语言的帖子

我想知道同样的答案是否也适用于java

我检查发现

StringBuilder builder = ...;
builder = new StringBuilder(builder.toString().replace("from", "to"));
由于
StringBuilder,因此效率低下。toString()
是一项昂贵的操作

为什么JAVA没有字符串生成器类中的
replace
方法?

来自:

StringBuilder对象与字符串对象类似,只是它们可以 被改进的。在内部,这些对象被视为可变长度 包含字符序列的数组。在任何一点上,长度 序列的内容可以通过方法调用来更改

因此,该方法类似于:

public StringBuilder replace(int start, int end, String str)

相反,因为它被视为数组而不是字符串,所以有一个
replace(int,int,String)
方法和
indexOf(String,int)
方法。我想你可以用这些来编写你自己的
replace(String,String)
方法。Docs没有提到这件事,这就是我来这里的原因+jsheeran这不是OP想要实现的。@Kayaman——不要比较apple和oranges,我这里说的是这两种语言拥有的类似功能。