[英]How to get a type with multiple generic types to match the type parameters?
[英]how match mixed type of scala higher-kinder types feature with java generic type?
我的项目是Java和Scala语言的混合体,但是会发生一些类型不匹配的错误,我认为这是Java和Scala通信方面的常见问题。 我用简单的班级安排了舞台。 环境是Java 1.8和Scala 2.11.7
class Item[+T](name: String)
//ready use Item as MM type
class Packet[+MM[_]]
object GenS extends App {
//use Item class
def doWithPacket(packet: Packet[Item]) = {}
//type error occur on packetFormJava variable form java
val packetFormJava = GetGenJ.newPacketInJava
doWithPacket(packetFormJava)
//run well
val packetFromScala = new Packet[Item]
doWithPacket(packetFromScala)
}
和简单的java类:
public class GetGenJ {
public static Packet<Item> newPacketInJava() {
return new Packet<Item>();
}
}
遇到编译错误:
Error:(16, 16) type mismatch;
found : Packet[Item[_]]
required: Packet[Item]
doWithPacket(packetFormJava)
^
任何帮助或建议,谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.