Unire stringhe in Java
Oggi vediamo come possiamo unire delle stringhe usando Java.
Non parlo del classico concatena, ma della possibilità di join di più stringhe; il risultato finale è lo stesso, ma cambiano le modalità.
In questi esempi useremo due metodi:
- uno prevede l'utilizzo della classe StringJoiner
- l'altro prevede l'uso del metodo join della classe String
Per entrambi ho predisposto due esempi.
StringJoiner accetta fino a tre parametri:
- il separatore
- prefisso
- suffisso
Per String.join ho fatto un esempio con una lista "messa a mano" e un esempio usando List.
Ecco tutto il codice in sequenza:
public class Main {
public static void main(String[] args) {
Main m = new Main();
System.out.println("StringJoiner senza prefisso / suffisso");
System.out.println(m.usingStringJoiner());
System.out.println("");
System.out.println("StringJoiner con prefisso / suffisso");
System.out.println(m.usingStringJoinerPrefixSuffix());
System.out.println("");
System.out.println("String.join con stringhe");
System.out.println(m.usingStringJoin());
System.out.println("");
System.out.println("String.join con list");
System.out.println(m.usingStringJoinList());
}
public String usingStringJoiner() {
StringJoiner sj = new StringJoiner(", ");
sj.add("parola uno");
sj.add("parola due");
sj.add("parola tre");
String result = sj.toString();
return result;
}
public String usingStringJoinerPrefixSuffix() {
StringJoiner sj = new StringJoiner("/", " -prefisso- ", " -suffisso- ");
sj.add("11");
sj.add("02");
sj.add("2016");
String result = sj.toString();
return result;
}
public String usingStringJoin() {
String result = String.join("/", "11", "02", "2016");
return result;
}
public String usingStringJoinList() {
List list = Arrays.asList("uno", "due", "tre");
String result = String.join(", ", list);
return result;
}
}
Fate un pò di test per capire le differenze, e per capire come possono essere comodi in determinati casi.
Enjoy!
java string join stringjoiner list
Commentami!