在 .NET 中,数组和列表都以 Enumerable 作为祖先,因此接受 Enumerable 作为参数的方法可以同时接收数组和列表作为其参数。 请问java中有没有类似的东西?
最佳答案
不,Java 中没有等效项。我通常建议您设计 API 方法来接收 List<T>
, Collection<T>
或 Iterable<T>
.虽然这些阻止了直接使用数组调用方法,但您可以使用 Arrays.asList
非常轻松地包装数组。 .对于调用者而言,这比将数组指定为方法参数更灵活,后者强制执行单个实现。
我同意这并不理想。
请注意,在 .NET 中,一维数组不只是实现 IEnumerable<T>
- 他们实现 IList<T>
关于java - Java 数组和列表的共同祖先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2442337/