7
现在转换枚举类,有两种方式,一种是使用注解,第二种是使用 ObjectSerializer
但是使用第二种时会有一个问题,就是必须精确到枚举的类名,不能使用它所实现的接口类,这样就会导致我整个工程中所有的枚举类,都需要在这里添加转换器,如下:
serializeConfig.put("精确的类名.class" , new XXX());
serializeConfig.put("AEnum.class" , new XXX());
serializeConfig.put("BEnum.class" , new XXX());
serializeConfig.put("CEnum.class" , new XXX());
现在我想了一种新的方式,比如定义一个基本接口,如下
interface BaseEnum{
String getCode();
}
然后需要转换的枚举实现这个接口,然后就可以 serializeConfig.put(BaseEnum.class , new XXX())
, 这样就不需要把所有的枚举类型全部写一遍了,一条配置,就可以定义所有的转换类型。
但是原有代码里面的是写死的,而且有一些变量是private,该方法无法重写,所以提取了这个部分代码
详情查看代码,就改了几行代码,不到十行