类型不匹配:无法从 ArrayList<X509Certificate> 转换为 Collection<Certificate>

问题描述

我正在尝试实现 Tomcat-9 的源代码

我有一行代码如下:

Collection<Certificate> chain = new ArrayList<>(certificateFile.getCertificates());
        if (certificate.getCertificateChainFile() != null) {
            PEMFile certificateChainFile = new PEMFile(certificate.getCertificateChainFile());
            chain.addAll(certificateChainFile.getCertificates());
        }

代码在 eclipse 中编译得很好,但是当我尝试使用 ant builder 通过 build.xml 构建它时。我收到一条错误消息:

类型不匹配:无法从 ArrayList 转换为 Collection

为什么会观察到这种行为?有什么想法吗?

解决方法

导入,一切正常。我将 Collection<Certificate> 修改为 Collection<X509Certificate>,一切看起来都不错。