Java中的链接字符串

时间:2011-03-18 13:38:48

标签: java string

假设我想在“for”循环期间创建一个新字符串,

新字符串将改变一个exsist字符串,该字符串将改变,从而消除循环的条件和位置。

如何插入现有字符串new chars?

我查看了与字符串相关的整个方法摘要,并没有在那里得到答案。

编辑:原来我错误地发布了方法的java 4链接。我使用最新版本的java。

谢谢

4 个答案:

答案 0 :(得分:10)

使用StringBuilderString.concat(String)

示例:

StringBuilder sb = new StringBuilder();
Iterator<Integer> iterator =
    Arrays.asList(1, 2, 3, 4, 5, 6, 7).iterator();
if(iterator.hasNext()){
    sb.append(iterator.next());
    while(iterator.hasNext()){
        sb.append(',').append(iterator.next());
    }
}
final String joined = sb.toString();

关于谷歌搜索javadocs:谷歌几乎总会返回古老的1.4版本。如果你单独搜索类名这样的关键字。搜索classname /6,例如StringBuilder /6您将获得当前版本。

答案 1 :(得分:3)

  

如何插入存在的字符串   新的角色?

你做不到。 Java字符串设计为不可变的。您必须使用类似StringBuilder的可变类,或者使用新的修改版本替换原始字符串。

答案 2 :(得分:2)

出于性能原因使用StringBuffer

// new StringBuffer
StringBuffer buf = new StringBuffer("bla blub bla");

// insert string
buf.insert(9, " huhu ");

// append strings
buf.append(" at the end");

// Buffer to string
String result = buf.toString();

答案 3 :(得分:1)

尝试StringBufferStringBuilder。你需要用Java 1.4编写代码吗?

你也可以试试这个(虽然我强烈推荐StringBuilder/StringBuffer方法):

String s = "somestring";
s = s.substring(0, 4) + " " + s.substring(4); //result: "some string"

您需要以某种方式找到substring()方法的索引(使用indexOflastIndexOf)。