nullを返す可能性のあるJava関数の返り値をOptionでラップする方法


nullを返す可能性がある関数をOptionで受け取る場合、例えば

[code]

    val fuge=Option(nullablefunc())
    def twice(one:Option[Int])={
        one.map(2*)
    }
    val result=twice(fuge.asInstanceOf[Option[Int]])
    
[/code]

Option(null)の場合、型がOption[Null]=NoneになるのでOption[Int]にするためキャストしてますけど

[code]

    fuge.asInstanceOf[Option[Int]]
    
[/code]

Optionがnullを受け取る可能性がある場合、上記の方法以外にnullを受け取れる方法があるんでしょうか。？




`Option[Int]`型として、`null`あるいは`Int`を返すjavaの関数`nullablefunc()`の返り値を使いたいということでしたら、

[code]

    val fuge:Option[Int]=Option(nullablefunc())
    
[/code]

のようにシグネチャを付ければ解決すると思います。

