- ПРИМЕЧАНИЕ: я упростил мой код ниже, чтобы избежать ненужной путаницы.
У меня есть фильтр черт scala ниже:
trait Filter[T] extends Serializable {
def evaluate(input: T): Boolean
}
Я использую его в классе для фильтрации СДР специального типа:
class OtherThing(filter: Filter[String], tokens: RDD[String]){
tokens.filter(t => {filter.evaluate(t)})
}
Это работает, однако, как только я заменяю черту scala интерфейсом java, я получаю NoSuchMethodError. Мой интерфейс Java выглядит так:
public interface Filter<T> extends Serializable {
scala.Boolean evaluate(T input);
}
И ошибка жалуется на то, что не существует метода для фильтрации объекта. Сообщение об ошибке выглядит так:
Причина: java.lang.NoSuchMethodError: my.package.Filter.evaluate (Ljava / lang / Object;) Z