Sye*_*yed 3 java java-8 java-stream
这是我的代码,它返回空格和一些有效字符串。但是,我的要求是使空间无效并仅收集字符串
List<String> stateCodes = stateList.stream()
.map(state-> physician.getStateDetails().getStateCode())
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
当我打印 stateCodes 时,它返回
[ , , 197, 148, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]
Run Code Online (Sandbox Code Playgroud)
这里我只需要 [197,148]
过滤掉空值。我不确定String您的输出中是否为空。如果是,您可以使用以下方法过滤掉它们:
List<String> stateCodes =
stateList.stream()
.map(state-> physician.getStateDetails().getStateCode())
.filter(s -> !s.isEmpty())
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
注意:您可以添加trim()(到map或filter步骤)以过滤掉String仅包含空格的 s:
List<String> stateCodes =
stateList.stream()
.map(state-> physician.getStateDetails().getStateCode().trim())
.filter(s -> !s.isEmpty())
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
529 次 |
| 最近记录: |