Двойное определение 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]
?
Благодарю.