You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Java Stream将字符串数组转为统计'1'数量的int数组(单语句实现)

解决Java单语句统计字符串数组中'1'的出现次数问题

直接把统计逻辑内联到lambda表达式中即可,正确的单语句实现如下:

String[] b = {"00101010", "10010", "11111"};
int[] c = Arrays.stream(b).mapToInt(r -> (int) r.chars().filter(ch -> ch == '1').count()).toArray();

错误原因说明

你之前替换时出错,是因为在lambda上下文里误用了未定义的变量:

  • 原方法里的string对应lambda中的当前元素参数r,不能直接写string;
  • 因为我们固定统计字符'1',不需要x变量,直接写ch == '1'即可。
    误用未定义变量会导致编译器报错,修正变量引用并硬编码目标字符后就能正常运行。

内容的提问来源于stack exchange,提问作者Anil Bhat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 20:42:05