lombok和静态内部类组合使用报错
1、现象
2、测试代码
package com.timevale.sterna.doctemplate.core.domain.support;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.timevale.sterna.doctemplate.core.domain.support.TestBean.FillDocumentBO.PreFillValuesDTO;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
/**
* 功能说明:TODO
*
* @author fengqingyang
* @since 2023-11-15 14:02
*/
@Data
public class TestBean {
private FillDocumentBO fillDocumentBO;
public static List<PreFillValuesDTO> handlePreFillValues(
List<PreFillValuesDTO> preFillValuesDTOS) {
if (org.apache.commons.collections.CollectionUtils.isEmpty(preFillValuesDTOS)) {
return Lists.newArrayList();
}
Map<String, PreFillValuesDTO> preFillValuesDTOMap = Maps.newHashMap();
for (PreFillValuesDTO preFillValuesDTO : preFillValuesDTOS) {
String fieldId = preFillValuesDTO.getFieldId();
String fieldKey = preFillValuesDTO.getFieldKey();
if (StringUtils.isNotBlank(fieldId)) {
preFillValuesDTOMap.put(fieldId, preFillValuesDTO);
}
if (StringUtils.isNotBlank(fieldKey)) {
preFillValuesDTOMap.put(fieldKey, preFillValuesDTO);
}
}
return preFillValuesDTOMap.values().stream().collect(Collectors.toList());
}
@Data
public static class FillDocumentBO {
private String docId;
private List<String> waitFillFields;
private List<PreFillValuesDTO> preFillValues;
@Data
public static class PreFillValuesDTO {
private String fieldId;
private String fieldKey;
private String fieldValue;
}
}
}
3、根因
import com.timevale.sterna.doctemplate.core.domain.support.TestBean.FillDocumentBO.PreFillValuesDTO;
这个import是报错的根因,解决办法是去掉这一句,然后将对应使用静态内部类的地方换成全限定名
正文到此结束