or (Field fieldsAndParentsField : fieldsAndParentsFields) { if (StringUtils.equals(fieldsAndParentsField.getName(), camel)) { Field f = object.getClass().getDeclaredField(camel); f.setAccessible(true); Object value = f.get(object); if (StringUtils.equals(key, value.toString()) && schemaRowRuleEo.getRowEditPermission()) { System.out.println("修改成功"); } else { throw new CustomException("大马猴来了", code); } } }代码优化
时间: 2024-02-18 08:59:00 浏览: 60
根据提供的代码,我看到其中有一些可以进行优化的地方。首先,可以使用 Java 8 的流式编程来代替 foreach 循环,可以使代码更加简洁和易读。另外,可以将一些重复的逻辑进行封装,提高代码的可复用性和可维护性。下面是代码优化后的示例:
```
Field fieldsAndParentsField = fieldsAndParentsFields.stream()
.filter(f -> StringUtils.equals(f.getName(), camel))
.findFirst()
.orElseThrow(() -> new CustomException("大马猴来了", code));
Field f = object.getClass().getDeclaredField(camel);
f.setAccessible(true);
Object value = f.get(object);
if (StringUtils.equals(key, value.toString()) && schemaRowRuleEo.getRowEditPermission()) {
System.out.println("修改成功");
} else {
throw new CustomException("大马猴来了", code);
}
```
其中,使用 `findFirst()` 方法可以找到第一个满足条件的元素,并且当没有找到时可以抛出异常。使用 lambda 表达式可以使代码更加简洁和易读。对于重复的逻辑,可以将其封装成一个方法,提高代码的可复用性。
阅读全文