java.lang.Object
более-менее scala.AnyRef
. scala.Any
- это (простое определение) надмножество объектов и примитивов. Таким образом, компилятор предупреждает вас, что вы пытаетесь передать что-то, что потенциально может быть примитивным (Any
), как java.lang.Object
.
На уровне байт-кода Any
довольно часто будет просто Object
, Конечно, но система типов Scala делает различие между вещами, которые являются «изначально» Object
s, и вещами, которые могут включать автобокс, чтобы сделать их Object
s, и это ошибка, которую вы видите.
Таким образом, решением здесь было бы аннотировать этот объект как AnyRef
или даже лучше, как java.lang.Object
, чтобы ясно показать, что вы хотите использовать его для чего-то, специфичного для Java / JVM c.