Я пытаюсь реализовать SCALA функциональный объект (в частности - для использования с Apache Spark)Реализация функции Scala в Java
эквивалентный тип Java является scala.Function0
(для параметра меньше функции)
кроме метод, реализующий бизнес-логику apply()
, я вижу, что мне нужно реализовать несколько других методов.
Простой прибегая к помощи имена методов не помогло (я видел ссылку, касающуюся tag
метода, который должен быть реализован, - но имя метода здесь разные
Вот код с теми методами (с пустой реализацией). .
private static class functionObject implements Function0<Integer>{
@Override
public Integer apply() {
// TODO Auto-generated method stub
return null;
}
@Override
public byte apply$mcB$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public char apply$mcC$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public double apply$mcD$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public float apply$mcF$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int apply$mcI$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public long apply$mcJ$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public short apply$mcS$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void apply$mcV$sp() {
// TODO Auto-generated method stub
}
@Override
public boolean apply$mcZ$sp() {
// TODO Auto-generated method stub
return false;
}
}
Каковы эти методы? как они должны быть реализованы? есть уборщик решение, добавляя их к любому классу?
Может быть глупый вопрос, но почему вы пытаетесь написать функцию SCALA в Java? Записывать в scala или писать java-конструкцию? – nablex
Я пытаюсь использовать искру apache в проекте java. Искра - это проект scala, поэтому он ожидает объекты scala. Наш проект находится в java, поэтому я предпочитаю не добавлять scala-код. Теоретически, взаимодействие java-scala (и, в частности, java-spark) должно быть относительно простым - но, видимо, есть некоторые проблемы, которые не очень простые (или, по крайней мере, отсутствие документации) –
@Ophiiryoktan Scala -> Java, легко. Java -> Scala; меняется. Легко, если scala lib был разработан для этого (!?!) Еще хрупкий беспорядок уродства –