Can anyone have a good understanding of Scala to explain why this works:
scala> Tuple2[String,String]("w3wre", "werffd")
res0: (String, String) = (w3wre,werffd)
scala> val (s1:Any, s2:Any) = Tuple2[String,String]("w3wre", "werffd")
s1: Any = w3wre
s2: Any = werffd
But not that?
scala> Tuple2[String,String]("w3wre", null)
res1: (String, String) = (w3wre,null)
scala> val (s1:Any, s2:Any) = Tuple2[String,String]("w3wre", null)
scala.MatchError: (w3wre,null) (of class scala.Tuple2)
at .<init>(<console>:9)
at .<clinit>(<console>)
...
(Clearly, Any-type may contain nulls:
scala> val n:Any = null
n: Any = null
scala> val n:Any = null.asInstanceOf[String]
n: Any = null
)
?
source
share