Digamos que tengo dos variables char
, y más tarde quiero concatenarlas en una cadena. Esta es la forma en que lo haría:¿Concatenar con una cadena vacía para hacer una conversión de cadena realmente tan malo?
char c1, c2;
// ...
String s = "" + c1 + c2;
He visto gente que dice que el "truco" "" +
es "feo", etc, y que se debe utilizar String.valueOf
o Character.toString
lugar. Yo prefiero esta construcción porque:
- Yo prefiero usar característica del lenguaje en lugar de llamada a la API si es posible
- En general, no es el idioma por lo general más estable que la API?
- ¡Si la función de idioma solo oculta la llamada API, entonces hay una razón más poderosa para preferirla!
- Más ¡abstracto! ¡Ocultar es bueno!
- Me gusta que el
c1
yc2
son visualmente en el mismo nivelString.valueOf(c1) + c2
sugiere algo que es especial acercac1
- Es más corto.
¿Hay realmente un buen argumento por qué String.valueOf
o Character.toString
es preferible a "" +
?
Anécdota: en java.lang.AssertionError
, la siguiente línea aparece 7 veces, cada una con un tipo diferente:
this("" + detailMessage);
Por supuesto 'String.valueOf (c1) + c2' sería extraño, si sigues esa ruta escribirías' String.valueOf (c1) + String.valueOf (c2) ' – NomeN
@NomeN: podrías escriba 'new String (new char [] {c1, c2})' –
ad Trivia: las bibliotecas Java SE core no son exactamente una fuente de buen estilo de codificación, eso es bien conocido ;-) –