HOWTO · Java

如何在 Java 中將陣列列表轉換為字串

本篇文章介紹瞭如何在 Java 中把陣列列表轉換為字串。

本教程介紹瞭如何在 Java 中把 ArrayList 轉換為 String,並列舉了一些示例程式碼來理解這個主題。轉換 ArrayList 為字串有幾種方法,如使用 join()append() 方法、StringUtils 類等。讓我們仔細看一下例子。

在 Java 中用 + 操作符將 ArrayList 轉換為 String

將 ArrayList 轉換為 String 的最直接和簡單的方法是使用加號(+)運算子。在 String 中,加號運算子將兩個字串物件連線起來並返回一個物件。在這裡,我們使用的是加號運算子。請看下面的例子。

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

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str = "";
    for (String fruit : fruits) {
      str += fruit + ",";
    }
    System.out.println(str);
  }
}

輸出:

[Apple, Orange, Mango]
Apple,Orange,Mango,

使用 Java 中的 append() 方法將陣列列表轉換為字串

我們可以使用 StringBuilder 類的 append() 方法將陣列列表轉換為字串。這個方法返回一個字串物件。請看下面的例子。

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

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    StringBuilder str = new StringBuilder();
    for (String fruit : fruits) {
      str.append(fruit);
      str.append(" ");
    }
    System.out.println(str);
  }
}

輸出:

[Apple, Orange, Mango]
Apple Orange Mango 

使用 Java 中的 join() 方法將陣列列表轉換為字串

我們可以使用 String 類的 join() 方法將陣列列表元素連線成一個字串。這個方法返回一個字串,可以用來在 Java 中把陣列列表轉換為字串。

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

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str = String.join(",", fruits);
    System.out.println(str);
  }
}

輸出:

[Apple, Orange, Mango]
Apple,Orange,Mango

在 Java 中使用 StringUtils 類將陣列列表轉換為字串

如果你使用的是 Apache commons lang 庫,那麼你可以使用 StringUtils 類的 join() 方法從 ArrayList 中獲取字串物件。這裡,我們使用 join() 方法,它需要兩個引數:ArrayList 和分隔符。請看下面的例子。

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str = StringUtils.join(fruits, ", ");
    System.out.println(str);
  }
}

輸出:

[Apple, Orange, Mango]
Apple, Orange, Mango

使用 Java 中的 replaceAll() 方法將陣列列表轉換為字串

這是從 ArrayList 中獲取 String 的一個有點小技巧的方法。這樣,我們用 replaceAll() 方法替換 List 的方括號,然後用 toString() 方法將所有元素轉換成 String。請看下面的例子。

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

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str = fruits.toString().replaceAll("\\[|\\]", "").replaceAll(", ", ", ");
    System.out.println(str);
  }
}

輸出:

[Apple, Orange, Mango]
Apple, Orange, Mango

使用 Java 中的 joining() 方法將陣列列表轉換為字串

如果你使用的是 Java 8 以上的版本,你可以使用 Collectors 類的 joining() 方法將所有的元素收集到一個單一的 String 物件中。在這裡,我們使用 Java 8 版本中加入的 Java 程式設計的函式式風格。

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

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str =
        Arrays.asList(fruits).stream().map(Object::toString).collect(Collectors.joining(", "));
    System.out.println(str);
  }
}

輸出:

[Apple, Orange, Mango]
[Apple, Orange, Mango]

使用 Java 中的 deepToString() 方法將陣列列表轉換為字串

我們可以使用 Array 類的 deepToString() 方法,將陣列列表的所有元素轉換為 String 物件。請看下面的例子。

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

public class SimpleTesting {
  public static void main(String[] args) {
    // ArrayList
    List<String> fruits = new ArrayList<>();
    fruits.add("Apple");
    fruits.add("Orange");
    fruits.add("Mango");
    System.out.println(fruits);
    String str = Arrays.deepToString(fruits.toArray());
    System.out.println(str);
  }
}

輸出:

[Apple, Orange, Mango]
[Apple, Orange, Mango]