Je suis nouveau sur scala et je rencontre un problème lors de l'appel d'une fonction "générique" dans la bibliothèque java NIO (à partir de scala 2.10.x). La réduction du code à un test simple:Appel de la fonction générique java à partir de scala
import java.net._
import java.nio.channels.{MembershipKey, DatagramChannel}
object Test {
val channel = DatagramChannel.open(StandardProtocolFamily.INET)
.setOption(StandardSocketOptions.SO_REUSEADDR, true)
...
}
Il en résulte:
Error:(40, 48) type mismatch;
found : java.net.SocketOption[Boolean]
required: java.net.SocketOption[Any]
Note: Boolean <: Any, but Java-defined trait SocketOption is invariant in type T.
You may wish to investigate a wildcard type such as `_ <: Any`. (SLS 3.2.10)
channel.setOption(StandardSocketOptions.SO_REUSEADDR, true)
^
Je suppose qu'il ya un moyen de résoudre ce sans avoir recours à l'écriture d'un emballage en java. Ont essayé de refondre de diverses façons sans succès.
Question: comment résoudre ce problème?