缘由:
HashMap<String, Object> hashMap = httpService.loginWX(wx_appid, wx_secret, code);
hashMap 根据 key 获取 的value值 是个object类型,此时想转为 String 需要 .toString,但如果value是个null 则会报空指针异常
解决:
新建 MyHashMap 类 继承 HashMap
public class MyHashMap<K, V> extends HashMap<K,V> {
然后添加 getString方法
public String getString(String key){
Object v = super.get(key);
return Objects.isNull(v)?null:v.toString();
}
完整代码:
public class MyHashMap<K, V> extends HashMap<K,V> {
public String getString(String key){
Object v = super.get(key);
return Objects.isNull(v)?null:v.toString();
}
public Integer getInteger(String key){
Object v = super.get(key);
return Objects.isNull(v)?null:Integer.parseInt(v.toString());
}
}
看到了,下边我还添加了一个 getInteger
方法,同理可以添加任意方法