Diciamo che ho due variabili char
e in seguito voglio concatenarle in una stringa. Questo è come lo farei:Concatenare con una stringa vuota per fare una conversione di stringhe davvero così brutta?
char c1, c2;
// ...
String s = "" + c1 + c2;
Ho visto persone che dicono che il "trucco" "" +
è "brutto", ecc, e che si dovrebbe usare String.valueOf
o Character.toString
invece. Io preferisco questo costrutto perché:
- Io preferisco usare caratteristica del linguaggio, invece di chiamata API, se possibile
- In generale, non è la lingua di solito più stabile rispetto al API?
- Se la funzione lingua nasconde solo la chiamata all'API, motivo ancora più forte per preferirlo!
- Ancora più astratto! Nascondersi è buono!
- mi piace che la
c1
ec2
sono visivamente sullo stesso livelloString.valueOf(c1) + c2
suggerisce qualcosa è specialec1
- E 'più breve.
C'è davvero un buon argomento per cui String.valueOf
o Character.toString
è preferibile a "" +
?
film: in java.lang.AssertionError
, la seguente riga appare 7 volte, ognuna con un diverso tipo:
this("" + detailMessage);
Ovviamente 'String.valueOf (c1) + c2' sarebbe strano, se si va su quella strada si scrivere' String.valueOf (c1) + String.valueOf (c2) ' – NomeN
@NomeN: si potrebbe scrivi 'new String (new char [] {c1, c2})' –
ad Trivia: le librerie di base di Java SE non sono esattamente una fonte di buon stile di codifica, questo è ben noto ;-) –