文章目录
一、List to Array
1.1、List 转成 Object 类型数组,但有局限性
使用List的toArray()方法,只能转成 Object[ ]
,不能强制将数组转换为其他类型(如 int[] 、String[]等),所以有局限性。
@Test
public void listToArray() {
Object[] array = list.toArray();
print(array);//打印
}
1.2、List 转成 String 类型数组
使用List的toArray(T[] a)方法 ,可以转成任意类型。
@Test
public void listToArray2() {
String[] array2 = list.toArray(new String[list.size()]);
print(array);//打印
}
二、Array to List
2.1、使用Arrays 工具类转成List
@Test
public void arrayToList() {
List<String> list = new ArrayList<String>(Arrays.asList(array));
System.out.println(list.toString());
}
2.2、Collections 工具类转换List
@Test
public void arrayToList2() {
List<String> list = new ArrayList<String>(array.length);
Collections.addAll(list, array);
System.out.println(list.toString());
}
三、List 、Array 转成字符串,添加分隔符
@Test
public void arrayToList3() {
// org.apache.commons.lang3.StringUtils.join(Iterable<?>, String)
String a = StringUtils.join(list, ",");
System.out.println(a);
String b = StringUtils.join(array, ",");
System.out.println(b);
}
依赖 apache 的commons-lang3.jar
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.1</version>
</dependency>
四、List 和Array 相互转化工具类
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
public class ListToArrayUtil {
public static List<String> list = new ArrayList<String>();
public static String[] array = { "java", "c++", "c#", "php" };
static {
list.add("aaa");
list.add("bb");
list.add("cc");
list.add("dd");
list.add("ee");
}
/**
* List转换成Object类型数组
*/
@Test
public void listToArray() {
Object[] array = list.toArray();
print(array);
}
/**
* List转换成String类型数组
*/
@Test
public void listToArray2() {
String[] array2 = list.toArray(new String[list.size()]);
print(array2);
}
/**
* 使用Arrays 工具类转成List
*/
@Test
public void arrayToList() {
List<String> list = new ArrayList<String>(Arrays.asList(array));
list.add("C");
System.out.println(list.toString());
}
/**
* Collections 工具类转换List
*/
@Test
public void arrayToList2() {
List<String> list = new ArrayList<String>(array.length);
Collections.addAll(list, array);
list.add("C");
System.out.println(list.toString());
}
/**
* 转成字符串,并增加分隔符
*/
@Test
public void testSplit1() {
// org.apache.commons.lang3.StringUtils.join(Iterable<?>, String)
String a = StringUtils.join(list, ",");
System.out.println(a);
// org.apache.commons.lang3.StringUtils.join(Object[], String)
String b = StringUtils.join(array, ",");
System.out.println(b);
}
private static void print(Object[] array) {
if (array == null) {
System.out.println("array is null");
} else if (array != null && array.length == 0) {
System.out.println("array length is 0");
} else {
for (Object string : array) {
System.out.print(string + " , ");
}
System.out.println("");
}
}
}