an expression of type Null is ineligible for impli

2019-02-16 20:31发布

问题:

When doing this:

  def myfunction(line: String): (Int, Option[DateTime], Option[Int]) = {
    // do some stuff
    (5, Option(null), Option(null))
  }

I get the following:

an expression of type Null is ineligible for implicit conversion

I'm not sure how to fix it.

回答1:

Option(null) has a lower bound of Option[Null], where Null is the bottom-type of all reference types. Int is a value type, and not a reference type. i.e. you can't assign null to an Int. So you can't assign Option[Null] to Option[Int].

Use Option.empty[Int] or None instead.



标签: scala null