给定一个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);
添加回答
举报
0/150
提交
取消