package com.alibaba.excel.converters; import java.util.Map; import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.util.MapUtils; import lombok.AllArgsConstructor; import lombok.Data; /** * Converter unique key.Consider that you can just use class as the key. * * @author Jiaju Zhuang */ public class ConverterKeyBuild { private static final Map, Class> BOXING_MAP = MapUtils.newHashMap(); static { BOXING_MAP.put(int.class, Integer.class); BOXING_MAP.put(byte.class, Byte.class); BOXING_MAP.put(long.class, Long.class); BOXING_MAP.put(double.class, Double.class); BOXING_MAP.put(float.class, Float.class); BOXING_MAP.put(char.class, Character.class); BOXING_MAP.put(short.class, Short.class); BOXING_MAP.put(boolean.class, Boolean.class); } public static ConverterKey buildKey(Class clazz) { Class boxingClass = BOXING_MAP.get(clazz); if (boxingClass != null) { return new ConverterKey(boxingClass, null); } return new ConverterKey(clazz, null); } public static ConverterKey buildKey(Class clazz, CellDataTypeEnum cellDataTypeEnum) { return new ConverterKey(clazz, cellDataTypeEnum); } @Data @AllArgsConstructor public static class ConverterKey { private Class clazz; private CellDataTypeEnum cellDataTypeEnum; } }