优化避免每个字段都进行ExcelIgnoreUnannotated.class判断

This commit is contained in:
chengliejian 2025-08-07 16:57:27 +08:00
parent 0bc9097f18
commit ba6015ca19

View File

@ -73,6 +73,7 @@ public class CellMergeStrategy extends AbstractMergeStrategy implements Workbook
return cellList; return cellList;
} }
Class<?> clazz = list.get(0).getClass(); Class<?> clazz = list.get(0).getClass();
boolean annotationPresent = clazz.isAnnotationPresent(ExcelIgnoreUnannotated.class);
Field[] fields = ReflectUtils.getFields(clazz, field -> { Field[] fields = ReflectUtils.getFields(clazz, field -> {
if ("serialVersionUID".equals(field.getName())) { if ("serialVersionUID".equals(field.getName())) {
return false; return false;
@ -80,7 +81,7 @@ public class CellMergeStrategy extends AbstractMergeStrategy implements Workbook
if (field.isAnnotationPresent(ExcelIgnore.class)) { if (field.isAnnotationPresent(ExcelIgnore.class)) {
return false; return false;
} }
return !clazz.isAnnotationPresent(ExcelIgnoreUnannotated.class) || field.isAnnotationPresent(ExcelProperty.class); return !annotationPresent || field.isAnnotationPresent(ExcelProperty.class);
}); });
// 有注解的字段 // 有注解的字段