我们平时在项目开发的过程中,经常会遇到嵌套for循环的场景,特别数据库表之间的层级关联关系的时候,我们一般都是写很长很长的嵌套for循环,虽然能很快的实现代码逻辑,不过就是代码看着就是一坨一坨,不美观,还有就是如果多个地方都有这样的场景,那真的是看不下去,所以我们可以写一个小小的模板,写一次,多个地方使用就是了,代码也会更简洁很多。
通过Actuator 实现层级迭代
public interface Actuator<K, E> {
@SuppressWarnings(value = {"unchecked"})
default void next(K key, ActuatorFilterChain chain) {
List<E> keys = this.getList(key);
if (CollectionUtils.isEmpty(keys)) {
return;
}
ActuatorFilter actuatorFilter = chain.getCurrentActuatorHandler(this);
Actuator actuator = chain.nextActuator(this);
for (E e : keys) {
if (actuatorFilter != null && actuatorFilter.doFilter(e) && actuator != null) {
actuator.next(e, chain);
}
}
}
List<E> getList(K key);
}
Actu