java - 如何将 ArrayList 传递给以集合作为输入的方法

标签 java arraylist collections interface-implementation

我想传递一些ArrayList<Integer> X进入方法a(Collection<Integer> someCol)这需要Collection<Integer>作为输入。

我该怎么做?我认为 ArrayList 是一个 Collection,因此我应该能够“只是这样做”,但看起来 Collection 是一个接口(interface),而 ArrayList 实现了这个接口(interface)。我可以做些什么来使这项工作成功......如果你理解这个理论,这也将帮助我和可能的许多其他人。

谢谢

最佳答案

就去做吧。

说真的,一个类将隐式转换为它实现的接口(interface)。

编辑
如果您需要示例:

import java.util.*;

public class Sandbox {
    public static void main(String[] args) {
        final ArrayList<Integer> list = new ArrayList<Integer>(5);
        Collections.addAll(list, 1, 2, 3, 4, 5);
        printAll(list);
    }

    private static void printAll(Collection<Integer> collection) {
        for (Integer num : collection)
            System.out.println(num);
    }
}

关于java - 如何将 ArrayList 传递给以集合作为输入的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2778592/

相关文章:

Java数组循环迭代

java - 当我在 java 的 gremlin 查询中使用 valueMap() 时,出现 NoFastSuchElementException

java - JTable 中的自动过滤

java - 不使用 Lines2D 的橡皮筋

html - jQuery 集合问题

database - ArangoDB升级丢失数据

javascript - findOne 返回对象而不是文档

java - 如何子类化ConcurrentSkipListMap并设置其Comparator?

java - 如何在 ArrayList 中使用整数和 boolean 值

java - 创建Android ArrayList错误