my project is mixed java and scala language, but some type mismatch error occur and I think it's a common problem in term of java and scala communicate. I organized the stage with simple classes. Environment is java 1.8 and 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)
}
and the java class simple as this:
public class GetGenJ {
    public static Packet<Item> newPacketInJava() {
        return new Packet<Item>();
    }
}
The compile error encounter:
Error:(16, 16) type mismatch;  
 found   : Packet[Item[_]]  
 required: Packet[Item]  
  doWithPacket(packetFormJava)  
                  ^
any help or advice thanks.
 
     
     
    