网站首页 > 精选教程 正文
有时候代码上线了才报异常,有次就是因为使用map来传递数据,因为疏忽使线上的功能异常。
举个例子:
/*赋值**/
public void set()
{
Map<String,Object> map=new HashMap<>();
map.put("id",1);
map.put("name","张三");
get(map);
}
/*获取**/
public void get(Map<String,Object> map)
{
Integer id=new Integer(map.get("id").toString());
String name=map.get("name").toString();
}
我相信很多人都这样写过,使用map来传递数据,有一个隐患就是,如果我把map.put("name","张三");改成map.put("val","张三");,但是get方法里忘了改String name=map.get("name").toString();。那运行就报空指针异常了,因为没有name的key了。
那么怎么改才会避免这个问题,我建议使用实体类。使用实体类,你忘记改了,项目打包时就报错误,避免了线上的异常。
猜你喜欢
- 2025-01-11 JVM系列-使用jmap和MAT进行堆内存分析
- 2025-01-11 MapStruct 使用教程, 万字详解
- 2025-01-11 面试官:ThreadLocal中的ThreadLocalMap和HashMap有什么区别?
- 2025-01-11 Golang入门专题-Map
- 2025-01-11 Golang Gin 实战(五)| 接收数组和 Map
- 2025-01-11 Hadoop :map+shuffle+reduce和YARN分析笔记
- 2025-01-11 MapStruct架构设计
- 2025-01-11 Java,Stream,forEach()、map()、filter()、sorted()等的用法
- 2025-01-11 由 Mybatis 源码畅谈软件设计(五):ResultMap 的循环引用
- 2025-01-11 Map扩展,敏捷的SmartMap
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)