Я пытаюсь объявить метод в абстрактном классе, который получает массив универсального типа T. Таким образом:
abstract class Circle[-T] extends Shape[T] {
def draw(points: Array[T]): Unit
}
Проблема, которую я получаю, заключается в том, что компилятор Scala жалуется на:
контравариантный тип T встречается в инвариантной позиции в типе Array[T] значений точек
Итак, есть ли способ решить эту проблему, кроме следующего?
def draw[U <: T](points: Array[U]): Unit
В качестве примечания мне также нужно расширить этот класс в Java.