
public static final Map<Integer, List<CrmDetailViewEnum>> DEFAULT_VIEW = new HashMap<Integer, List<CrmDetailViewEnum>>() { private static final long serialVersiOnUID= -4318860703552426339L; { put(SHORTCUT_BAR_TYPE, Arrays.asList(CrmDetailViewEnum.CALL_PHONE,CrmDetailViewEnum.SEND_MSG, CrmDetailViewEnum.SEND_QQ, CrmDetailViewEnum.SEND_EMAIL)); put(INFO_BAR_TYPE, Arrays.asList(CrmDetailViewEnum.INFO, CrmDetailViewEnum.PHONE_NUM, CrmDetailViewEnum.WECHAT, CrmDetailViewEnum.QQ, CrmDetailViewEnum.EMAIL, CrmDetailViewEnum.CONTACT_BOOK, CrmDetailViewEnum.GUEST)); put(APPLICATION_BAR_TYPE, Arrays.asList(CrmDetailViewEnum.CONTACT,CrmDetailViewEnum.ORDER, CrmDetailViewEnum.TASK, CrmDetailViewEnum.FILE, CrmDetailViewEnum.EXTEND_APPLICATION)); } }; 1
//初始化类 private static CrmDetailViewEnum crmDetailViewEnum; 2
public static final Map<Integer, List<CrmDetailViewEnum>> DEFAULT_VIEW; static { DEFAULT_VIEW = new HashMap<Integer, List<CrmDetailViewEnum>>() { private static final long serialVersiOnUID= -4318860703552426339L; { put(SHORTCUT_BAR_TYPE, Arrays.asList(CrmDetailViewEnum.CALL_PHONE,CrmDetailViewEnum.SEND_MSG, CrmDetailViewEnum.SEND_QQ, CrmDetailViewEnum.SEND_EMAIL)); put(INFO_BAR_TYPE, Arrays.asList(CrmDetailViewEnum.INFO, CrmDetailViewEnum.PHONE_NUM, CrmDetailViewEnum.WECHAT, CrmDetailViewEnum.QQ, CrmDetailViewEnum.EMAIL, CrmDetailViewEnum.CONTACT_BOOK, CrmDetailViewEnum.GUEST)); put(APPLICATION_BAR_TYPE, Arrays.asList(CrmDetailViewEnum.CONTACT,CrmDetailViewEnum.ORDER, CrmDetailViewEnum.TASK, CrmDetailViewEnum.FILE, CrmDetailViewEnum.EXTEND_APPLICATION)); } }; } 这两种一起使用的,然后成功了,不为 null 了,但是不太懂原理,所以想请教一下各位大佬原因
1 nodododo OP 来个大手子解决一下疑问把 呜呜呜好难啊 |
2 RedBeanIce May 27, 2022 ```java import com.alibaba.fastjson.JSON; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class For { public static final Map<Integer, List<TempEnum2>> DEFAULT_VIEW = new HashMap<Integer, List<TempEnum2>>() { private static final long serialVersiOnUID= -4318860703552426339L; { put(1, Collections.singletonList(TempEnum2.ADDRESS)); put(2, Collections.singletonList(TempEnum2.ADDRESS)); put(3, Collections.singletonList(TempEnum2.URL)); } }; public static void main(String[] args) { System.out.println(JSON.toJSONString(DEFAULT_VIEW)); } } enum TempEnum2 { ADDRESS(""), URL(""); private String pptFromDetail; TempEnum2(String pptFromDetail) { this.pptFromDetail = pptFromDetail; } } ``` 第一种情况是没问题的,打印正常 {1:["ADDRESS"],2:["ADDRESS"],3:["URL"]} |
3 nodododo OP @RedBeanIce 我本地试了确实正常,但是发到测试环境后的日志显示除了 key 是有数据的,枚举类全是 null |