Map.get()方法要注意其返回值为null
来源:互联网 发布:java web开发与实战 编辑:程序博客网 时间:2024/06/06 23:16
在编写判断求第一个节点算法时发现:
- //已知单链表中存在环,求进入环的第一个节点
- public Node getFirstNodeInCycleHashMap(Node head){
- HashMap<Node,Boolean> map=new HashMap<Node,Boolean>();
- while (head!=null){
- if(map.get(head)==true) {//
- return head;
- }
- else{
- map.put(head,true);
- head=head.next;
- }
- }
- return null;
- }
第五行会出现,空指针异常,因为在map中还没有key时就调用get()方法,产生空指针异常。
((HashMap.Node)map.entrySet().toArray()[4]).getKey()=Cannot find local variable 'map'
所以推荐使用containsKey(Object key)来判断是否存在指定的键,返回值为true.而且,get()方法还存在一个弊端是,当value值
为null时,返回为null时,可能表示不包含该键的映射关系;也可能是该键映射的value值为null。因此一般用containsKey(),
来判断。
阅读全文
0 0
- Map.get()方法要注意其返回值为null
- JDK1.8,LinkedCaseInsensitiveMap get方法返回null
- mybatis resultType=java.util.Map 时注意返回null
- map 之 get null
- MyBatis查询返回Map时设置值为null的字段也在结果集中
- android OKHttp 调用有返回值的方法,返回值为null
- MyBatis返回值为Map
- ajax请求其返回值为undefined
- FormsAuthenication.Encrypt(FormsAuthenticationTicke)返回值为null
- SurfaceView中lockCanvas返回值为null
- Map.get方法——返回指定键所映射的值
- Map.get方法——返回指定键所映射的值
- Map.get方法——返回指定键所映射的值
- findViewById返回为NULL
- 根据key获取map中的value值,如果该map为null或者为空,或者找不到传入key,或者类型不一致则返回空。
- Spring boot + MyBatis 查询返回Map时设置值为null的字段也在结果集中
- 关于POI中sheet.getRow方法返回值为null的问题 (NullPointException)
- 异步请求,当请求的方法返回值为 java关键字 null 时,报error
- thinkphp5中使用phpmailer实现发送邮件功能
- 面试题之数据库中事务及其四个特性
- 使用swp恢复VI丢失的文件
- MyBatis笔记二-增删改查-事务-简单的多表联查
- int、bigint、smallint和tinyint范围
- Map.get()方法要注意其返回值为null
- setOnLongClickListener 返回值的作用
- ReadFile ReadFileEx异步操作 控制台程序
- 分析tensorflow代码(Hello world)
- 通过npm安装webpack
- MySql存储过程的异常处理理论及实例
- android 增加自己的应用签名校验
- Lucene 在Ubuntu+Python2的环境下进行搜索
- 关于微信支付