使用Java 9编译Scala的模糊引用错误

时间:2018-01-28 03:45:53

标签: scala compiler-errors java-9

目前,我在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 [...]]的变种,但得到了不同的编译错误。

欢迎任何提示。

1 个答案:

答案 0 :(得分:1)

@Ted指出这是一个已知问题。一个工作重点就是用这样的东西替换putAll

props.forEach((k, v) => newProps.put(k, v))

请注意,通过执行此操作,您的操作不再是原子操作,但在您的情况下,这很可能并不重要。