我有一串串弦
Stream<String> st = Arrays.stream(new String[]{"10", "20", "30", "40", "50"});
我想把它们转换成整数,然后用reduce方法求和。我正在以以下格式使用reduce:
int result = st.reduce(0, (a, b)-> a + Integer.parseInt(b));
我得到这个错误:没有找到合适的方法来减少(int,(a, b)-
有没有关于如何重写reduce方法以使其工作的提示?
我想把它们转换成整数,然后用reduce方法求和。我正在以以下格式使用reduce:
为了你的启发(以及未来的需求),你可以这样做。
String[] data ={"10", "20", "30", "40", "50"};
int sum = Arrays.stream(data).mapToInt(Integer::parseInt).sum();
System.out.println(sum);
印刷品
150
我没有使用reduce(),而是将其分为两个步骤:将字符串转换为int(作为int流),然后求和:
Stream.of("10", "20", "30", "40", "50").mapToInt(Integer::parseInt).sum()
您需要提供一个组合器函数作为第三个参数才能使其工作:
int sum = Arrays.stream(new String[]{"10", "20", "30", "40", "50"})
.reduce(0, (a, b)-> a + Integer.parseInt(b), Integer::sum);
否则,您将获得不同风格的reduce(),它能够生成与流中元素类型相同的结果。
而且你不需要duce()
,更好的方法是:
int sum = Stream.of("10", "20", "30", "40", "50")
.mapToInt(Integer::parseInt)
.sum();
问题内容: 在Java中执行以下操作的最佳方法是什么。我有两个输入字符串 我需要从字符串中提取类型和数字。 在这种情况下,答案是type =“ a good”和number =“ 234” 谢谢 问题答案: 您可以使用正则表达式:
本文向大家介绍解析C++中的字符串处理函数和指针,包括了解析C++中的字符串处理函数和指针的使用技巧和注意事项,需要的朋友参考一下 C++字符串处理函数 字符串连接函数 strcat 其函数原型为 strcat是string catenate(字符串连接)的缩写。该函数有两个字符数组的参数,函数的作用是:将第二个字符数组中的字符串连接到前面字符数组的字符串的后面。第二个字符数组被指定为const,
我有一个输入表单,允许某人键入unicode字符。所以它可能是类似于“嘿,uF32A怎么了?如果我得到这个字符串,它将有一个子字符串“\uF32A”,我如何将其转换为字符“\uF32A”?
我有一个字符串数组,如下所示: 拆分数组后,打印以下内容: 我得到的输出是: 我想要的是删除逗号、https和not'之类的单个字母的所有实例(在使用上面的方法之后)。所以我想以这个结束: 我试过像这样做replaceAll: 但这只是给了我相同的初始输出,没有任何变化。有什么想法吗?
Milo Yip 2016/9/27 本文是《从零开始的 JSON 库教程》的第三个单元解答编。解答代码位于 json-tutorial/tutorial03_answer。 1. 访问的单元测试 在编写单元测试时,我们故意先把值设为字符串,那么做可以测试设置其他类型时,有没有调用 lept_free() 去释放内存。 static void test_access_boolean() {
问题内容: 我有一个将存储Number对象的列表。该列表将通过分析字符串列表来填充,其中每个字符串都可以表示Number的任何子类。 如何将字符串解析为通用数字,而不是特定的整数或浮点数? 问题答案: 数字不能实例化,因为它是抽象类。我建议传入数字,但是如果您设置为字符串,则可以使用任何子类来解析它们, 要么 @请参阅NumberFormat