gpt4 book ai didi

java - Scala 映射值扩展接口(interface)

转载 作者:行者123 更新时间:2023-12-02 11:56:14 24 4
gpt4 key购买 nike

此方法位于我们正在调用的 Java 库中

   public void setNumbers(Map<Integer, ? extends COSObjectable> numbers) {
...
}

我有一个混合 Java/Scala 项目,我将工作代码从 Java 类移至 Scala 类,现在我无法从 Scala 获取此调用。我能得到的最好的是

  val numbers = new util.HashMap[Integer, _ <: COSObjectable ]
node.setNumbers(numbers)

编译失败

需要类类型,但找到 java.util.HashMap[Integer, _ <: org.apache.pdfbox.pdmodel.common.COSObjectable]

map 的COSObjectable参数是一个java接口(interface)

public interface COSObjectable {
COSBase getCOSObject();
}

我不确定 Scala 在与接口(interface)一起使用时是否喜欢这种语法。似乎是说我只能通过类来做到这一点。

最佳答案

我想也许我只是太努力了,脱掉 _ <: 似乎有效

val numbers = new util.HashMap[Integer, COSObjectable ]

关于java - Scala 映射值扩展接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47581728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com