为了账号安全,请及时绑定邮箱和手机立即绑定

将字符串修改应用于数组/列表

将字符串修改应用于数组/列表

长风秋雁 2021-12-01 15:46:54
给定一个ArrayList<String>带有文件扩展名的文件名,我怎样才能惯用地获得所有文件名都没有文件扩展名的相同数组。有很多方法可以做到这一点,我可以轻松地创建一个新数组,但我想知道是否有一种很好的干净的方法来使用单线来做到这一点。现在我这样做:List<String> namesWithExt = ...List<String> namesWithoutExt = new ArrayList<>();namesWithExt.forEach(name -> namesWithoutExt.add(FilenameUtils.removeExtension(name)));String[] namesWithoutExt = namesWithExt.toArray(String[]::new);
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

使用Stream

String[] namesWithoutExt = 
    namesWithExt.stream()
                .map(name -> FilenameUtils.removeExtension(name))
                .toArray(String[]::new);

或者:

String[] namesWithoutExt = 
    namesWithExt.stream()
                .map(FilenameUtils::removeExtension)
                .toArray(String[]::new);


查看完整回答
反对 回复 2021-12-01
  • 1 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信