简体   繁体   English

在Scala中,如何覆盖采用java.util.Map的方法

[英]In Scala, how to override a method that takes a java.util.Map

The Java class I am trying to subclass has a method like: 我试图子类的Java类有一个方法,如:

public abstract void foo(Map var1);

I can't figure out how to override that method. 我无法弄清楚如何覆盖该方法。 The Java class I am subclassing from does not use generics. 我从中继承的Java类不使用泛型。

In Scala I tried: 在Scala我尝试过:

override def foo(var1:java.util.Map[Int,Int]){ }

But the compiler gives me the error message that it overrides nothing.. 但编译器给我的错误信息是它覆盖了什么..

The heart of the problem is that Scala expects type parameters on the Map, however the Java class doesn't use them. 问题的核心是Scala期望Map上的类型参数,但Java类不使用它们。

这将使它成功

override def foo(var1:java.util.Map[_,_]){ }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM