前提条件是这样的,我需要将前端用不到的数据去除掉再传给前端,但是我这个萌新对stream流的使用还不太熟练,只了解到可以用filter过滤出需要使用的数据,而不会把这些数据从集合中去除
strings.add("id");
strings.add("delFlag");
strings.add("createTime");
strings.add("updateTime");
strings.add("createBy");
strings.add("updateBy");
List<Field> fieldList =
Arrays.stream(fields).filter(s -> strings.contains(s.getName())).collect(Collectors.toList());
但是聪明如我,我尝试在lambda里取反!,试了一下居然成功了
!(strings.contains(s.getName()))
具体为什么能这样还没搞明白,但是也算是解决问题了
这个帖子主要还是想抛砖引玉,希望各位大佬不吝赐教,有没有什么更好的解决方法,可以将strings集合中的元素从fields集合中剔除掉,也可以不使用stream,只要能高效稳定的解决问题就行