假设我想在“for”循环期间创建一个新字符串,
新字符串将改变一个exsist字符串,该字符串将改变,从而消除循环的条件和位置。
如何插入现有字符串new chars?
我查看了与字符串相关的整个方法摘要,并没有在那里得到答案。
编辑:原来我错误地发布了方法的java 4链接。我使用最新版本的java。
谢谢
答案 0 :(得分:10)
使用StringBuilder
或String.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)
尝试StringBuffer
或StringBuilder
。你需要用Java 1.4编写代码吗?
你也可以试试这个(虽然我强烈推荐StringBuilder/StringBuffer
方法):
String s = "somestring";
s = s.substring(0, 4) + " " + s.substring(4); //result: "some string"
您需要以某种方式找到substring()
方法的索引(使用indexOf
或lastIndexOf
)。