2013-04-29 36 views

Trả lời

14

Sử dụng StringBuilder:

String str; 
Char a, b, c; 
a = 'i'; 
b = 'c'; 
c = 'e'; 

StringBuilder sb = new StringBuilder(); 
sb.append(a); 
sb.append(b); 
sb.append(c); 
str = sb.toString(); 

One-liner:

new StringBuilder().append(a).append(b).append(c).toString(); 

Làm ""+a+b+c cho:

new StringBuilder().append("").append(a).append(b).append(c).toString(); 

tôi hỏi một số thời gian trước đây related question.

+0

Điều này có thể là một chút nặng, nhưng nó có thể là những gì tôi sẽ sử dụng ... – Lucas

+0

Đây hoàn toàn là cách để làm điều đó. –

0

Sử dụng phương pháp Character.toString(char).

15

Sử dụng str = ""+a+b+c;

Ở đây + đầu tiên là String concat, vì vậy kết quả sẽ là một String. Lưu ý nơi quan trọng là "".

Hoặc (có thể) tốt hơn, sử dụng số StringBuilder.

+0

Bỏ qua StringBuilder, phương pháp đó là hoàn hảo – mbehan

+0

Liệu StringBuilder cung cấp bất kỳ lợi thế vốn có nào trên 'str =" "+ a + b + c;'? –

+1

@mbehan, Trình biên dịch sẽ có khả năng tối ưu hóa phương pháp này vào một StringBuilder. – Lucas

0

Hãy thử điều này:

str = String.valueOf(a)+String.valueOf(b)+String.valueOf(c); 

Output:

ice 
5

Bạn có thể sử dụng StringBuilder:

StringBuilder sb = new StringBuilder(); 
    sb.append('a'); 
    sb.append('b'); 
    sb.append('c'); 
    String str = sb.toString() 

Hoặc nếu bạn đã có các nhân vật, bạn có thể vượt qua một mảng ký tự để String constructor:

String str = new String(new char[]{'a', 'b', 'c'}); 
+1

+1 cho mảng trong hàm tạo. –

+0

Nếu bạn đã có các ký tự, tại sao không chỉ 'Chuỗi str =" abc ";' và tránh sự chi tiết của một mảng char chữ và chuỗi instantiation? –

Các vấn đề liên quan