java - 正在打印可选[值]

标签 java functional-programming underscore-java

public static void main(String[] args) {
    
    printSumOfAllNumbersInList(List.of(12,45,34,22,56,65));
    printSumOfAllNumbersInListUsingFP(List.of(12,45,34,22,56,65));
}

private static void printSumOfAllNumbersInListUsingFP(List<Integer> list) {
    
    /*
     * Learning the use of reduce()
     */
    System.out.println(list.stream().reduce(PStructured01::printSum));
    
}

private static int printSum(int a,int b)
{
    int sum  =  a +b;
    return sum;
            
            
}
private static void printSumOfAllNumbersInList(List<Integer> list) {
    int sum = 0;
    for (Integer integer: list) {
        sum = sum + integer;
    }
    System.out.println(sum);
}}

我正在解决用例 - 打印所有列表数字的总和并返回总和。
我尝试使用传统方法,后来又尝试使用函数式方法来解决它。
但在功能方法期间,我得到的值 - 234 是正确的,但作为 - 可选[234]
谁能解释一下原因

最佳答案

我在研究中做了这个,首先认为它有点不理解,但这是一个简单的概念

Optional<Integer> op = list.stream().reduce(PStructured01::printSum);

op.ifPresent(System.out::println);

关于java - 正在打印可选[值],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77067345/

相关文章:

java - 关于 basicLTI java 实现 (basiclti-util-java),¿文档?

java - 将日期范围分组到桶中

functional-programming - - Clojure - 当我运行这个斐波那契函数时出现错误,知道哪里出了问题吗?

java - 将 JSON 转换为 XML 时添加额外的元数据

Java Seamframework - Restful URL - 如何?

java - 寻找 for 循环中动态变量声明的解决方法

python - 在 Python 中,为什么不能用 lambda 编写累加器生成器?

scala - 如何在不使用可变变量的情况下在 Scala 中编写迭代器?

java - 无法解析 "$"underscore-java(underscore.js 的 java 端口)