Tengo un chary necesito un String. ¿Cómo me convierto de uno a otro?
java
string
char
type-conversion
Landon Kuhn
fuente
fuente

Respuestas:
Puedes usar
Character.toString(char). Tenga en cuenta que este método simplemente devuelve una llamada aString.valueOf(char), que también funciona.Como otros han señalado, la concatenación de cadenas también funciona como un atajo:
Pero esto se resume en:
que es menos eficiente porque
StringBuilderestá respaldado por unchar[](sobreasignado porStringBuilder()to16), solo para que esa matriz sea copiada defensivamente por el resultadoString.String.valueOf(char)"entra por la puerta trasera" al envolverlocharen una matriz de un solo elemento y pasarlo al constructor privado del paqueteString(char[], boolean), lo que evita la copia de la matriz.fuente
new StringBuilder("").append('s').toString();Buena pregunta. Tengo los siguientes
cinco6 métodos para hacerlo.String.valueOf(char[] value)invocanew String(char[] value), que a su vez establece lavaluematriz de caracteres.Por otro lado
String.valueOf(char value)invoca el siguiente paquete constructor privado.El código fuente de
String.javaen Java de código fuente 8fuente
A continuación se muestran varias formas de convertir de char a String s (en orden decreciente de velocidad y eficiencia)
fuente
Use el
Character.toString()método de esta manera:fuente
Use cualquiera de los siguientes:
fuente
Como dijo @WarFox: hay 6 métodos para convertir char en cadena. Sin embargo, el más rápido sería a través de la concatenación, a pesar de las respuestas anteriores que indican que es así
String.valueOf. Aquí hay un punto de referencia que demuestra que:Y resultado:
Como puede ver, el más rápido sería
c + ""o"" + c;Esta diferencia de rendimiento se debe a la
-XX:+OptimizeStringConcatoptimización. Puedes leer sobre esto aquí .fuente
Prueba esto:
Character.toString(aChar)o solo esto:aChar + ""fuente
Tenemos varias formas de convertir un
charaString. Una forma es hacer uso del método estáticotoString()enCharacterclase:En realidad, este
toStringmétodo utiliza internamente elvalueOfmétodo de laStringclase que hace uso de la matriz char:Entonces, la segunda forma es usar esto directamente:
Este
valueOfmétodo enStringclase hace uso de la matriz de caracteres:Entonces, la tercera forma es hacer uso de una matriz anónima para envolver un solo carácter y luego pasarlo al
Stringconstructor:La cuarta forma es hacer uso de la concatenación:
En realidad, esto hará uso del
appendmétodo de laStringBuilderclase, que es realmente preferido cuando hacemos concatenación en un bucle.fuente
Aquí hay algunos métodos, sin ningún orden en particular:
fuente
Estoy convirtiendo Char Array en String
fuente
He probado las sugerencias pero terminé implementándolo de la siguiente manera
fuente