2

我有一个由两个字符串 s1 和 s2 组成的字符串 s s = s1+s2,。

我希望能够s1在另一个函数中进行修改,然后s使用修改后的s1. 我想进行更改s1,以便将其s2作为参数。例如s1 = "1+"s2="2",并且我希望 s 成为"incr(" + s2 + ")"

我可以通过使用s1 = "incr(%s2%)"then来做到这一点s1.replace("%s2%",s2),但如果s1已经包含"%s2%"怎么办?我希望它尽可能通用。

有什么办法吗?

4

3 回答 3

4

String是一个不可变的类,这意味着你不能修改它。所有 String 方法都会创建一个 String的 ,而不是修改String.

但是,您可以使用toCharArray(或StringBuilder为了更大的灵活性),这是可变的。

于 2013-05-29T13:24:29.900 回答
0

在需要同步时使用,StringBuffer否则用于StringBuilder减少同步的开销。两者都是mutable类。他们有很多方法可以修改String.

于 2013-05-29T13:50:39.107 回答
0

如果您想Strings在 Java 中进行编辑,请使用StringBuilder类 ( http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/StringBuilder.html)。它有多种操作和替换子字符串的方法。

于 2013-05-29T13:28:44.103 回答