2011-03-05 25 views

回答

0

假設字符是在一個名爲c變量,字符串名爲beforeafter變量:

String string=before+new String(new char[] { c })+after; 
3

如何

String string3 = string1 + Character.toString(c) + string2; 

只要你知道,這就是所謂的串級聯。

5

嘗試這種情況:

public class Main { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     String str1 = "Hello"; 
     String str2 = "Hello2"; 
     char c = 'a'; 

     System.out.println(str1 + c + str2); 
    } 

} 
0

備用方式:

字符串combinedString = beforeString.concat(將String.valueOf(C))的concat(afterString);

使用.concat方法的字符串連接應該比連接運算符提供更快的結果。

我敢肯定,這與字符串+字符串被轉換爲類似於StringBuffer的轉換有關; s.add(字符串1); s.add(字符串2); return s.toString();

通過使用.concat可以避免這種情況。

+0

我認爲'+'字符串連接(它使用StringBuilder而不是StringBuffer)比兩個concat調用和valueOf調用更有效率。如果你現在已經有了適合StringBuilder的大小,並且將它提供給構造函數,它可能會進一步優化。 – 2011-03-05 11:43:02

1

連接字符串,字符和Java中其他任何東西的普遍接受的方式是StringBuilder

StringBuilder builder = new StringBuilder(); 
builder.append("foo"); 
builder.append('&'); 
builder.append("bar"); 
System.out.println(builder.toString()); // foo&bar 

如果您使用的是1.5以前的JDK,或者您需要線程安全的,你可以使用StringBuffer代替。