Двойное определение Scala (2 метода имеют стирание одного типа)

Я написал это в Scala, и он не будет компилироваться:

class TestDoubleDef{
  def foo(p:List[String]) = {}
  def foo(p:List[Int]) = {}
}

компилятор уведомляет:

[error] double definition:
[error] method foo:(List[String])Unit and
[error] method foo:(List[Int])Unit at line 120
[error] have same type after erasure: (List)Unit

Я знаю, что у JVM нет встроенной поддержки обобщений, поэтому я понимаю эту ошибку.

Я мог бы написать обертки дляList[String] а такжеList[Int] но я ленивый :)

Я сомневаюсь, но есть ли другой способ выразитьList[String] не того же типа, чемList[Int]?

Благодарю.

Ответы на вопрос(11)

Ваш ответ на вопрос