首页 > 解决方案 > 爪哇。拆分列表每个元素的最佳方法

问题描述

如何使用流优化它?

    List<String> prepared = new ArrayList<>();
    availableFieldsFromImage.forEach(field -> {
        if(field.contains(".")){
            prepared.add(field.split("\\.")[0]);
        } else {
            prepared.add(field);
        }
    });

标签: javajava-stream

解决方案


split如果没有找到分隔符,则返回初始字符串,因此无需测试“。” 在执行拆分之前:

List<String> prepared = availableFieldsFromImage.stream()
                        .map(field -> field.split("\\.")[0])
                        .collect(Collectors.toList());

推荐阅读