2010-03-11 132 views

回答

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

您可以通過識別可能涉及的類來找到文檔。在這裏,候選人是java.lang.Stringjava.lang.Character

你應該用自己熟悉啓動:

  • 原始包裝中java.lang
  • Java集合框架java.util

這也有助於通過教程使引入API更慢。

+0

看到文檔 – objects 2010-03-11 22:36:56

16

String.valueOf('X')將創建您一個String "X"

"X".charAt(0)會給你的字符'X'

-2

我喜歡做這樣的事情:

String oneLetter = "" + someChar; 
+6

相關的javadoc我強烈不喜歡它,因爲它不傳達的意圖。你不想做任何加法或連接,所以'+'在這裏不適合使用。 – 2010-03-12 09:44:19

+0

如上所述,這會讓你的代碼變得不可讀 – 2014-09-21 14:32:37

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

''「+'c''使用自動裝箱,因爲它首先執行'」「+ Character.toString('c')'然後''」 +「c」'然後''c「'。它執行額外的「」+「c」操作,如果使用太頻繁,會減慢程序速度。 – HyperNeutrino 2015-08-07 19:48:05

13

由於沒有人提到,另一種方式來創建String出單個字符的:

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

返回一個表示指定字符字符串對象。結果是 長度爲1的字符串,僅由指定的char組成。

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]) 

//或String =新字符串(chararray);

+0

這不會在現有答案中添加任何內容。 – Radiodef 2015-04-04 04:14:24

+0

@Radiodef - 他們在'toCharArray()'中加入了這正是我所期待的。當時沒有其他答案提到它。 – ArtOfWarfare 2018-03-05 22:06:18

-1

爲了將字符串轉換成char

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

你不必要地分配一個長度爲'len'的char數組只是在下一行被覆蓋 – 2017-07-12 17:30:51