为什么没有这样的东西?
public List<T>(T... args)
List<T> list = new List<T>(t1, t2, t3, t4);
我总是看到这样的事情:
List<T> list = Arrays.asList(new T[]{t1, t2, t3, t4});
我理解你的需要。我经常有同样的情况。这是一个 JDK 规范选择。如果你经常需要,你可以创建自己的 util 类来做。
警告:Arrays.asList(vargs)
和 new ArrayList()
返回两个功能非常不同的实现。
Arrays.asList(args)
返回由指定数组支持的固定大小列表。它是列表的最小实现,其中包含许多不受支持的操作。任何修改 ArrayList 的方法都会引发 UnsupportedOperationException。因此,要有一个创建经典Java的快捷方式,您应该编写
List myList = new ArrayList(Arrays.asList(t1, t2, t3, t4));