
我想在我的Android应用程序中使用函数式编程,因为Java8不可用我决定使用Guava library.但显然在番石榴图书馆里没有REDUCE聚合.如果有人能解释为什么会这样,我很想知道,但我需要的是一种解决方法.
如何在Guava中模拟REDUCE / DROP函数编程功能?例如,如何在不自编编码的情况下计算FluentInterface的总和或平均值(函数式编程的主要原理之一,不是吗?).
如果您使用AndroID中的其他库完成此 *** 作,请告诉我.
解决方法:
Guava不支持这一点,因为你需要构建的匿名类最终比传统的循环命令更加冗长. Guava故意仅提供一组有限的函数式编程风格功能:例如, https://github.com/google/guava/wiki/FunctionalExplained#Caveats了解详情.
让我们假设Guava确实提供了这个.它必须看起来像
FluentIterable.from(integers).foldr( new BiFunction<Integer, Integer, Integer>() { @OverrIDe Integer sum(Integer a, Integer b) { return a + b; } }, 0);…与…
int sum = 0;for (int value : integers) { sum += value;}第二个版本需要更少的样板.在语言中没有lambdas的情况下,这是不值得的.
总结以上是内存溢出为你收集整理的java – 为什么Guava库中没有减少?全部内容,希望文章能够帮你解决java – 为什么Guava库中没有减少?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)