2010-03-11 44 views
60

Có cách nào để biến một char thành một String hoặc thư String với một thành char (như cách bạn có thể biến một int thành một doubledouble thành một int)? (vui lòng liên kết với tài liệu liên quan nếu bạn có thể).Trong Java, làm thế nào để biến một chuỗi thành một char hoặc char thành một String?

Tôi làm cách nào để tìm kiếm thứ gì đó như thế này mà tôi chỉ mơ hồ nhận thấy trong tài liệu?

Trả lời

97
char firstLetter = someString.charAt(0); 
String oneLetter = String.valueOf(someChar); 

Bạn tìm tài liệu bằng cách xác định các lớp có khả năng tham gia. Tại đây, các ứng cử viên là java.lang.Stringjava.lang.Character.

Bạn nên bắt đầu bằng cách làm quen với:

  • wrappers nguyên thủy trong java.lang
  • khuôn khổ Java Collection trong java.util

Nó cũng giúp để có được giới thiệu với các API chậm hơn thông qua hướng dẫn.

+0

thấy javadoc có liên quan cho các tài liệu – objects

16

String.valueOf('X') sẽ tạo cho bạn một chuỗi "X"

"X".charAt(0) sẽ cung cấp cho bạn nhân vật 'X'

-2

Tôi muốn làm một cái gì đó như thế này:

String oneLetter = "" + someChar; 
+6

tôi rất thích nó, bởi vì nó không truyền đạt mục đích. Bạn không muốn thực hiện thêm bất kỳ phép nối nào, vì vậy '+' không phải là điều đúng để sử dụng ở đây. –

+0

Như trên điều này làm cho mã của bạn khá không thể đọc được –

2
String someString = "" + c; 
char c = someString.charAt(0); 
+1

Các '" "+ 'c'' sử dụng autoboxing và không được khuyến khích, bởi vì nó đầu tiên làm' "" + Character.toString (' c ') 'và sau đó' "" + "c" 'và sau đó' "c" '. Nó hoạt động thêm "" "+" c "', có thể làm chậm chương trình nếu sử dụng quá thường xuyên. – HyperNeutrino

13

Như chưa ai đề cập, một cách khác để tạo một String ra khỏi một char duy nhất:

String s = Character.toString('X'); 

Trả về một đối tượng String đại diện cho char quy định. Kết quả là một chuỗi có độ dài 1 chỉ bao gồm char được chỉ định.

1
String g = "line"; 
//string to char 
char c = g.charAt(0); 
char[] c_arr = g.toCharArray(); 
//char to string 
char[] charArray = {'a', 'b', 'c'}; 
String str = String.valueOf(charArray); 
//(or iterate the charArray and append each character to str -> str+=charArray[i]) 

// hoặc String s = new String (chararray);

+0

Điều này không thêm bất kỳ điều gì vào các câu trả lời hiện có. – Radiodef

+0

@Radiodef - Chúng được thêm vào 'toCharArray()' chính xác là những gì tôi đang tìm kiếm. Không có câu trả lời nào khác tồn tại vào thời điểm đó. – ArtOfWarfare

-1

Để chuyển đổi chuỗi để char

String str = "abcd"; 
char arr [] = new char[len]; // len is the length of the array 
arr = str.toCharArray(); 
+1

Bạn đang cần phân bổ một mảng char có độ dài 'len' chỉ để được ghi đè trong dòng tiếp theo –

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