Unire stringhe in Java

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!