方式1:使用 Arrays.asList
示例1:
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
public class ListTest {
@Test
public void test() {
List<Integer> list = Arrays.asList(1,12,345); // 生成的是基于 Arrays 中的内部类 ArrayList 的对象,不是 java.util.ArrayList
System.out.println(list.getClass().getName());
System.out.println(list);
System.out.println(list.get(0).getClass().getSimpleName());
}
}
运行结果:
java.util.Arrays$ArrayList
[1, 12, 345]
Integer
示例2: 元素为多种类型:
List<Object> list = Arrays.asList("你好",345);
for (Object obj: list) {
System.out.println(obj);
System.out.println(obj.getClass().getSimpleName());
System.out.println("----");
}
输出:
你好
String
----
345
Integer
----
示例3:
for (Object obj: Arrays.asList("你好",345)) {
System.out.println(obj);
System.out.println(obj.getClass().getSimpleName());
System.out.println("----");
}
方式2:匿名类
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
public class ListTest {
@Test
public void test() {
List<Integer> list = new ArrayList<Integer>() {{
add(1);
add(123);
}};
System.out.println(list);
}
}
运行结果:
[1, 123]
方式3:自定义工具方法
import java.util.ArrayList;
import java.util.List;
public class ListUtil {
public static <T> List<T> list(T... elements) {
return arrayList(elements);
}
public static <T> List<T> arrayList(T... elements) {
ArrayList<T> list = new ArrayList<T>();
for (T v: elements) {
list.add(v);
}
return list;
}
}
测试:
import org.junit.Test;
import java.util.List;
public class ListUtilTest {
@Test
public void test() {
List<String> list = ListUtil.arrayList("hello", "2");
System.out.println(list);
}
}
运行结果:
[hello, 2]