HOWTO · Java

Come convertire una ArrayList in una stringa in Java

Scopri come convertire una ArrayList in una stringa in Java con un delimitatore a scelta o una rappresentazione tra parentesi quadre.

In questa pagina

Per convertire una ArrayList in una String, scegli se ti serve un valore per elemento con un delimitatore oppure una rappresentazione tra parentesi quadre da visualizzare. Per il testo unito da un delimitatore, String.join() è un’opzione diretta; StringBuilder è utile quando devi personalizzare il ciclo. Gli esempi seguenti usano Apple, Orange e Mango come valori della lista.

Convertire ArrayList in String con l’operatore + in Java

L’operatore + concatena le stringhe. Per una lista breve e fissa, puoi concatenare direttamente i suoi valori e inserire dei separatori tra di essi. La concatenazione ripetuta all’interno di un ciclo crea stringhe intermedie, quindi usa StringBuilder per le liste più grandi.

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    String joined = fruits.get(0) + "," + fruits.get(1) + "," + fruits.get(2);
    System.out.println(joined);
  }
}

Convertire ArrayList in String usando il metodo append() in Java

Usa StringBuilder.append() per costruire un risultato in un ciclo. Aggiungi il delimitatore prima di ogni valore tranne il primo; in questo modo eviti di lasciare un separatore in più alla fine. La chiamata a toString() restituisce la String completata.

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    StringBuilder result = new StringBuilder();
    for (String fruit : fruits) {
      if (result.length() > 0) {
        result.append(", ");
      }
      result.append(fruit);
    }
    String joined = result.toString();
    System.out.println(joined);
  }
}

Convertire ArrayList in String usando il metodo join() in Java

String.join() combina gli elementi usando il delimitatore che fornisci. Il separatore compare tra valori adiacenti e non viene aggiunto prima del primo valore né dopo l’ultimo. Questa API viene descritta qui senza specificare una versione minima di Java.

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    String joined = String.join(", ", fruits);
    System.out.println(joined);
  }
}

Convertire ArrayList in String usando la classe StringUtils in Java

Se il tuo progetto usa già Apache Commons Lang, StringUtils.join(fruits, ", ") unisce i valori con il separatore fornito. Questa opzione richiede la dipendenza da Commons Lang nel classpath del progetto; non fa parte della libreria standard di Java. Consulta la guida alla classe StringUtils per maggiori informazioni sulla libreria.

Convertire ArrayList in String usando il metodo replaceAll() in Java

Con replaceAll() puoi rimuovere le parentesi e la spaziatura dei separatori da List.toString(), ma si tratta di una scorciatoia di formattazione. Si basa sulla rappresentazione di visualizzazione della lista, quindi i valori che contengono virgole o parentesi possono rendere il risultato ambiguo. Questo esempio rimuove solo le parentesi quadre; lascia invariati i separatori formati da virgola e spazio di List.toString().

import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    String joined = fruits.toString().replaceAll("\\[|\\]", "");
    System.out.println(joined);
  }
}

Convertire ArrayList in String usando il metodo joining() in Java

Per un approccio basato sugli stream, chiama stream() sulla lista e raccogli i suoi elementi con Collectors.joining(). Il delimitatore viene inserito tra i valori. Questa API viene descritta senza affermare una versione minima di Java.

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    String joined = fruits.stream().collect(Collectors.joining(", "));
    System.out.println(joined);
  }
}

Convertire ArrayList in String usando il metodo deepToString() in Java

Arrays.deepToString() crea una rappresentazione tra parentesi in stile array, utile per la visualizzazione e per i valori di array annidati. Non crea una semplice stringa unita da un delimitatore. Converti la lista in un array prima di passarla al metodo.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");

    String representation = Arrays.deepToString(fruits.toArray());
    System.out.println(representation);
  }
}