2009-09-25 117 views
24

如何在StringBuilder和String开头插入用双引号括起来的字符串?在另一个字符串的开头插入字符串

如:

StringBuilder _sb = new StringBuilder("Sam"); 

我需要插入字符串 “Hello” 到 “山姆” 和O/P的开头是 “你好,萨姆”。

String _s = "Jam"; 

我需要在“Jam”的开头插入字符串“Hello”,并且O/p是“Hello Jam”。

如何实现这一目标?

+0

难道你没有把字符串Jam插入到Hello结尾吗? – 2009-09-25 07:07:57

+0

不,你好,Jam的开头部分是_s被初始化为Jam – 2009-09-25 07:14:37

回答

34

第一种情况是使用insert()方法完成:

_sb.insert(0, "Hello "); 

后一种情况可以使用重载+运算上的字符串来完成。这在后台使用StringBuilder中:

String s2 = "Hello " + _s; 
+0

_s =“Hello”+ _ s;将有助于解决问题 – 2009-09-25 07:10:11

+0

@Sri:这就是他所说的实际情况!如果你有不同的想法,那么你可能错过了Java字符串的基本属性......它们是不可变的。 – 2009-09-25 07:26:37

+0

Opps!当我发布评论我没有看到unwind的编辑答案,导致混乱:) – 2009-09-25 07:40:52

-9

,如果你使用indexof()方法找到引号,然后添加一个索引后面的字符串,更好。

string s="hai"; 
int s=s.indexof("""); 
+0

这不会作为“不是字符串的一部分” – 2009-09-25 07:25:54

+0

该字符串不包含'“' – gkmohit 2015-05-27 20:10:55

6

严格来说,您不能将字符串插入另一个字符串的开头。 Java中的字符串是不可变的。

当你写:

String s = "Jam"; 
s = "Hello " + s; 

你实际上是导致要创建一个新的String对象,它是“你好”和“大灌篮”的串联。您根本没有将字符插入到现有的String对象中。

-4
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); 
    } 
} 
+0

这并不回答原来的文章,它使用了字符串和StringBuilder,但它并没有”插入一个字符串在StringBuilding开头的双引号“。 – OYRM 2016-02-09 22:53:28

相关问题