float - convertir string a char java
La forma más eficiente de convertir un solo char en un CharSequence (6)
Al observar la implementación del método Character.toString(char c)
, se revela que usan casi el mismo código que usa:
public String toString() {
char buf[] = {value};
return String.valueOf(buf);
}
Para facilitar la lectura, solo debe usar Character.toString( c )
.
Otra forma eficiente sería probablemente
new StringBuilder(1).append(c);
Es definitivamente más eficiente que usar el operador +
porque, según javadoc:
El lenguaje Java proporciona soporte especial para el operador de concatenación de cadenas (+) y para la conversión de otros objetos en cadenas. La concatenación de cadenas se implementa a través de la clase
StringBuilder
(oStringBuffer
) y su método de adición
¿Cuál es la manera más eficiente de pasar un solo char a un método que espera un CharSequence?
Esto es lo que tengo:
textView.setText(new String(new char[] {c} ));
De acuerdo con las respuestas dadas aquí , esta es una forma sensata de hacerlo donde la entrada es una matriz de caracteres. Me preguntaba si habría un atajo que pudiera aplicar en el caso de un solo char.
La CharScence más compacta que puedes obtener cuando tienes un puñado de caracteres es el CharBuffer. Para inicializar esto con su valor char:
CharBuffer.wrap(new char[]{c});
Dicho esto, usar Strings es un poco más legible y fácil de trabajar.
Taquigrafía, como en el menor número posible de caracteres mecanografiados:
c+""; // where c is a char
En su totalidad:
textView.setText(c+"");
Una solución sin concatenación es esta:
Character.valueOf(c).toString();
char c = ''y'';
textView.setText(""+c);
textView.setText(String.valueOf(c))