如何在StringBuilder和String开头插入用双引号括起来的字符串?在另一个字符串的开头插入字符串
如:
StringBuilder _sb = new StringBuilder("Sam");
我需要插入字符串 “Hello” 到 “山姆” 和O/P的开头是 “你好,萨姆”。
String _s = "Jam";
我需要在“Jam”的开头插入字符串“Hello”,并且O/p是“Hello Jam”。
如何实现这一目标?
如何在StringBuilder和String开头插入用双引号括起来的字符串?在另一个字符串的开头插入字符串
如:
StringBuilder _sb = new StringBuilder("Sam");
我需要插入字符串 “Hello” 到 “山姆” 和O/P的开头是 “你好,萨姆”。
String _s = "Jam";
我需要在“Jam”的开头插入字符串“Hello”,并且O/p是“Hello Jam”。
如何实现这一目标?
第一种情况是使用insert()
方法完成:
_sb.insert(0, "Hello ");
后一种情况可以使用重载+运算上的字符串来完成。这在后台使用StringBuilder中:
String s2 = "Hello " + _s;
_s =“Hello”+ _ s;将有助于解决问题 – 2009-09-25 07:10:11
@Sri:这就是他所说的实际情况!如果你有不同的想法,那么你可能错过了Java字符串的基本属性......它们是不可变的。 – 2009-09-25 07:26:37
Opps!当我发布评论我没有看到unwind的编辑答案,导致混乱:) – 2009-09-25 07:40:52
当然,使用StringBuilder.insert()
:
_sb.insert(0, _s);
,如果你使用indexof()
方法找到引号,然后添加一个索引后面的字符串,更好。
string s="hai";
int s=s.indexof(""");
这不会作为“不是字符串的一部分” – 2009-09-25 07:25:54
该字符串不包含'“' – gkmohit 2015-05-27 20:10:55
严格来说,您不能将字符串插入另一个字符串的开头。 Java中的字符串是不可变的。
当你写:
String s = "Jam";
s = "Hello " + s;
你实际上是导致要创建一个新的String对象,它是“你好”和“大灌篮”的串联。您根本没有将字符插入到现有的String对象中。
import java.lang.StringBuilder;
public class Program {
public static void main(String[] args) {
// Create a new StringBuilder.
StringBuilder builder = new StringBuilder();
// Loop and append values.
for (int i = 0; i < 5; i++) {
builder.append("abc ");
}
// Convert to string.
String result = builder.toString();
// Print result.
System.out.println(result);
}
}
这并不回答原来的文章,它使用了字符串和StringBuilder,但它并没有”插入一个字符串在StringBuilding开头的双引号“。 – OYRM 2016-02-09 22:53:28
难道你没有把字符串Jam插入到Hello结尾吗? – 2009-09-25 07:07:57
不,你好,Jam的开头部分是_s被初始化为Jam – 2009-09-25 07:14:37