目前,我在Scala中面对Java 9面临以下编译错误:
: ambiguous reference to overloaded definition,
both method putAll in class Properties of type (x$1: java.util.Map[_, _])Unit
and method putAll in class Hashtable of type (x$1: java.util.Map[_ <: Object, _ <: Object])Unit
match argument types (java.util.Properties)
newProps.putAll(props)
newProps定义为:
val newProps = new Properties
我尝试了newProps.asInstanceOf [java.util.Map [...]]的变种,但得到了不同的编译错误。
欢迎任何提示。
答案 0 :(得分:1)
@Ted指出这是一个已知问题。一个工作重点就是用这样的东西替换putAll
:
props.forEach((k, v) => newProps.put(k, v))
请注意,通过执行此操作,您的操作不再是原子操作,但在您的情况下,这很可能并不重要。