Home / Programmazione / Java / Unire stringhe in Java
Mattepuffo

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!