为什么没有使用 varargs 的列表构造函数



为什么没有这样的东西?

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));

相关内容

  • 没有找到相关文章

最新更新