带有可选参数的重载方法

Overloaded methods with optional parameters

有没有更好的方法重写这些重载方法来避免 double definition 问题?

def test(a: Option[Int]) {
  println(a)
}

def test(a: Option[String]) {
  println(a)
}

test(Some(1))

test(Some("1"))

示例 -> https://scastie.scala-lang.org/3V57pKeATFSmMNnDV2xBxA

使用 polymorphic method:

def test[T](a: Option[T]): Unit = {
    println(a)
  }
  
test(Some(1))
test(Some("1"))