Tag: traits

Java中的“Lambdifying”scala函数

使用Java和Apache Spark(已经在Scala中重写),面对旧的API方法( org.apache.spark.rdd.JdbcRDD构造函数),它有AbstractFunction1作为它的参数: abstract class AbstractFunction1[@scala.specialized -T1, @scala.specialized +R]() extends scala.AnyRef with scala.Function1[T1, R] {} 因为AbstractFunction1是一个抽象类,所以我不能使用Java8 lambdas,所以我决定用scala.Function1 trait包装java.util.functions.Function是相同的但是没有实现andThen和compose方法。 结果,我创建了thes接口: import scala.Function1; @FunctionalInterface public interface Funct extends Function1, Serializable { @Override default Function1 compose(Function1 before) { return null; } @Override default Function1 andThen(Function1 g) { return null; } } IDE对此接口没有任何问题,但在编译时,get: [ERROR] Funct is not a functional […]