这边是需要对已经查出来的数据根据权限删除掉用户无权查看的数据
所以想到了使用反射拿到对应的set方法
Iterator<Map.Entry<String, Integer>> authIterator = authMap.entrySet().iterator();
while (authIterator.hasNext()){
Map.Entry<String,Integer> entry=authIterator.next();
if (entry.getValue()==0){
delNames.add(entry.getKey());
}
}
Class<? extends UserResumeInfo> resumeInfoClass = userResumeInfo.getClass();
for (String delName : delNames) {
Method method = resumeInfoClass.getMethod("set" + delName);
method.invoke(userResumeInfo, (Object) null);
}
return userResumeInfo;
这里遍历了权限集合。判断了权限为0的项目。并调用set方法对属性进行清空;
但是这里报错
检查成员变量名以后发现没有问题,后来设置为get发现能正常获取数据;所以应该是不能写入可以读取,,突然想到这玩意有一个写保护开关,默认是false的。我们需要给他设置为true。这样就可以进行修改写入了;