java– 为什么Guava库中没有减少?

java– 为什么Guava库中没有减少?,第1张

概述我想在我的Android应用程序中使用函数式编程,因为Java8不可用我决定使用GuavaLibrary.但显然在番石榴图书馆里没有REDUCE聚合.如果有人能解释为什么会这样,我很想知道,但我需要的是一种解决方法.如何在Guava中模拟REDUCE/DROP函数编程功能?例如,如何在不自编编码的情况下计算Flu

我想在我的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库中没有减少?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1115665.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存