List<?> temp = empObjList.stream()
.filter(nestedDo -> nestedDo.getAttrib1() == "subject")
.collect(Collectors.toList());
我在这里调用getAttrib1()方法。但是要调用的方法只能动态识别。我将只获得函数的名称作为String值。我想将它动态转换为函数。我知道我可以使用Reflection来进行动态方法调用,但是我无法通过反射来重写上面的代码。
答案 0 :(得分:8)
我认为你所寻找的更像是
List<?> temp = empObjList.stream().filter(this::processDo)
.collect(Collectors.toList());
其中processDo(nestedDo)
是一种方法,可以进行反思,以确定在do上调用哪种方法。