java使用lambda获取该对象的ArrayList中对象中所有字符串的长度之和
我有一个数组列表,其中包含此类对象:
public class SearchCriteria {
private String key;
private String operation;
private Object value;
}
如何计算此ArrayList中所有对象中所有字符串的长度? 它可以在foreach中完成,但我想它也可以在lambda中完成,但我不知道如何做到偷偷摸摸和现代
现在我的解决方案是:
Integer sum=0;
for (SearchCriteria s: builder.getParams()
) {
sum+=s.getKey().length();
sum+=s.getOperation().length();
sum+=s.getValue().toString().length();
}
# 1 楼答案
我不知道为什么这对你有用,但你可以试试这个:
# 2 楼答案
你可以使用:
这将生成一个包含所有
length
值的int流,并对它们进行简单求和# 3 楼答案
可以使用
flatMapToInt
将Stream<SearchCriteria >
转换为IntStream
,其中包含原始Stream
元素的所有属性的长度: