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 2022-05-27 10:00:01 +08:00
```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
|