an expression of type Null is ineligible for implicit conversion

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.

Answer

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.

Attribution
Source : Link , Question Author : Bob , Answer Author : Michael Zajac

Leave a Comment