在Scala中使用Java接口时,编译器抱怨方法未实现
我在Scala类中使用Java接口时遇到问题。问题就在这里 首先,这是简化的Java接口:在Scala中使用Java接口时,编译器抱怨方法未实现,java,scala,inheritance,interface,scala-2.10,Java,Scala,Inheritance,Interface,Scala 2.10,我在Scala类中使用Java接口时遇到问题。问题就在这里 首先,这是简化的Java接口: java.util.concurrent.TimeUnit; import Message; public interface JavaInterface { public Message get(int param1, Long param2, TimeUnit unit); } 然后,我有一个Scala类尝试使用这个接口 java.util.concurrent.TimeUnit impor
java.util.concurrent.TimeUnit;
import Message;
public interface JavaInterface {
public Message get(int param1, Long param2, TimeUnit unit);
}
然后,我有一个Scala类尝试使用这个接口
java.util.concurrent.TimeUnit
import Message
class ScalaClass extends JavaInterface {
def get(param1:Int, param2: Long, unit:TimeUnit):Message = {
new Message("Just a test")
}
}
但在编译时,Scala编译器不断抱怨ScalaClass中没有实现get()函数:
类ScalaClass需要是抽象的,因为:
[错误]它有1个未实现的成员。
[错误]/**从ScalaClass类中可以看出,缺少的签名如下所示。
[错误]*为了方便起见,这些可用作存根实现。
[错误]*/
[错误]def get(x$1:Int,x$2:Long,x$3:java.util.concurrent.TimeUnit):消息=
我怀疑这可能是因为Scala不喜欢那个Javaint,但我一直无法让它工作,有人有什么想法吗
多谢各位
Int是否正常
scala> classOf[Int]
res0: Class[Int] = int
但是长
不是
scala> classOf[Long]
res3: Class[Long] = long
试一试
def get(param1:Int, param2: java.lang.Long, unit:TimeUnit): Message =
new Message("Just a test")
Int
很好
scala> classOf[Int]
res0: Class[Int] = int
但是长
不是
scala> classOf[Long]
res3: Class[Long] = long
试一试
def get(param1:Int, param2: java.lang.Long, unit:TimeUnit): Message =
new Message("Just a test")
或者,Java接口应该有一个long
而不是long
?或者,Java接口应该有一个long
而不是long
?