2010-03-11 4 views
60

Y at-il un moyen de transformer un char en String ou String par une lettre dans un char (comme la façon dont vous pouvez transformer un int en double et un double dans un int)? (s'il vous plait, faites un lien vers la documentation pertinente si vous le pouvez).En Java, comment transformer une chaîne en char ou en char en chaîne?

Comment puis-je trouver quelque chose comme ça que je ne connais que vaguement dans la documentation?

Répondre

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

Vous trouverez la documentation en identifiant les classes susceptibles d'être impliquées. Ici, les candidats sont java.lang.String et java.lang.Character.

Vous devriez commencer par vous familiariser avec:

  • emballages primitifs dans java.lang
  • framework Java Collection dans java.util

Il aide également à se présenter à l'API plus lentement à travers des tutoriels.

+0

voir la documentation Java pertinente pour la documentation – objects

16

String.valueOf('X') va vous créer une chaîne "X"

"X".charAt(0) vous donnera le caractère 'X'

-2

Je voudrais faire quelque chose comme ceci:

String oneLetter = "" + someChar; 
+6

Je n'aime pas fortement, car il ne donne pas l'intention. Vous ne voulez pas faire d'ajout ou de concaténation, donc '+ 'n'est pas la bonne chose à utiliser ici. –

+0

Comme ci-dessus cela rend votre code complètement illisible –

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

Le '" "+ 'c'' utilise l'autoboxing et n'est pas recommandé, car il fait d'abord' "" + Character.toString (' c ') 'puis' "" + "c" 'et ensuite' "c" '. Il fait l'opération supplémentaire "" "+" c "', ce qui peut ralentir le programme s'il est utilisé trop souvent. – HyperNeutrino

13

Comme on ne l'a mentionné, une autre façon de créer une chaîne de caractères sur un seul Char:

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

retourne un objet de chaîne représentant le charbon spécifié. Le résultat est une chaîne de longueur 1 constituée uniquement du caractère spécifié.

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

// ou String = new String (le chararray);

+0

Cela n'ajoute rien aux réponses existantes. – Radiodef

+0

@Radiodef - Ils ont ajouté 'toCharArray()' qui était exactement ce que je cherchais. Aucune autre réponse qui existait à l'époque ne le mentionnait. – ArtOfWarfare

-1

Afin de convertir la chaîne à carboniser

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

Vous allouez inutilement un tableau char de longueur 'len' juste pour être écrasé dans la ligne suivante –