我有以下使用spark和Java 8的代码。JavaRDD<AdLog> accessLogs = logLines.map(adLog::parseFromLogLine).cache();我正在尝试将其转换为Java7。我发现了大多数代码的替代方法,但是找不到此特定代码行的替代方法。 parseFromLogLine是AdLog类中的一个方法,其中adLog是一个对象。遇到一行文字时,应调用AdLog类中的parseFromLogLine方法。该方法返回一个新的AdLog对象。我如何使用Java 7实现这一目标。我们将不胜感激。提前致谢。 最佳答案 您可以使用番石榴函数来帮助您解决此问题。 (https://google.github.io/guava/releases/19.0/api/docs/com/google/common/base/Functions.html)您在新类中定义它,将AdLog对象初始化为Input,并将AdLog作为结果(Function<AdLog, AdLog>)进行初始化,并实现apply方法,该方法将Adlog对象作为输入,并返回对象。然后在apply方法中,调用parseFromLogLine()。public class AdLogFunction implements Function<AdLog, AdLog> { @Override public AdLog apply(AdLog input) { return input.parseFromLogLine(); }}完成此类后,您可以在代码中轻松使用它
07-24 09:34