У меня есть класс Java с следующим способом:Scala метод переопределения класса Java
class JavaContextObject {
...
public String[] getContext(int index, String[] tokens, String[] preds, Object[] additionalContext)
...
}
, и я хочу, чтобы переопределить этот метод в моем лестницу классе я попытался следующие подписи:
override def getContext(index: Int, tokens: Array[String], preds: Array[String], additionalContext: Array[AnyRef]): Array[String] = ???
или
override def getContext(index: Int, tokens: Array[String], preds: Array[String], additionalContext: Array[Object]): Array[String] = ???
и получите следующую ошибку компиляции, которую я не понимаю:
class ScalaContextObject needs to be abstract, since method getContext in trait BeamSearchContextGenerator of type (x$1: Int, x$2: Array[String], x$3: Array[String], x$4: Array[Object])Array[String] is not defined
(Note that Array[T with Object] does not match Array[String]: their type parameters differ)
class ScalaContextObject {
где BeamSearchContextGenerator - это признак, который JavaContextObject уже реализовал
public interface BeamSearchContextGenerator<T> {
public String[] getContext(int index, T[] sequence, String[] priorDecisions, Object[] additionalContext);
}
Мой вопрос: что это означает ошибка и как ее избежать?