ImmutableMap是一个不可变的map集合,且线程安全
使用方法
maven地址
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
代码使用
private static ImmutableMap<Class<? extends Throwable>, ResultCode> exceptionMap;
protected static ImmutableMap.Builder<Class<? extends Throwable>, ResultCode> mapBuider = new ImmutableMap.Builder<>();
static {
//添加元素
mapBuider.put(HttpMediaTypeNotSupportedException.class,CommonCode.PARAM_ERROR);
}
public ResponseResult exception(Exception e){
if(exceptionMap == null){
//构造immutableMap
exceptionMap = mapBuider.build();
}
ResultCode code = exceptionMap.get(e.getClass());
return new ResponseResult(code != null ? code : CommonCode.SERVER_ERROR);
}