一:java.lang.NullPointerException出现的几种原因:

1、字符串变量未初始化

2、接口类型的对象没有用具体的类初始化,比如:

Map map // 会报错

Map map = new Map(); //则不会报错了

3、当一个对象的值为空时,你没有判断为空的情况。

4、字符串与文字的比较,文字可以是一个字符串或Enum的元素,如下会出现异常

String str = null;

if(str.equals(“Test”)){

//这里的代码将不会被触发,因为会抛出java.lang.NullPointerException异常。

}

5、优先使用String.valueOf()方法代替toString()

当程序代码需要对象的字符串表示形式时,请避免使用该对象的toString方法。如果你的对象的引用等于null,NullPointerException则会抛出,使用静态String.valueOf方法,该方法不会抛出任何异常并打印"null"

6、class被声明了类型, 默认 class = null; 这样在调用class中方法的时候系统只能给你个空指针异常, 给其实例化就好了:class = new Class();

7、返回null,方法的返回值不要定义成为一般的类型,而是用数组。这样如果想要返回null的时候就能避免许多不必要的NullPointerException

二:异常分布结构图:

map.get(key)空指针异常_NPE空指针异常总结相关推荐

  1. this.getclass().getresource 空指针异常_NPE空指针异常总结

    一:java.lang.NullPointerException出现的几种原因: 1.字符串变量未初始化 2.接口类型的对象没有用具体的类初始化,比如: Map map // 会报错 Map map ...

  2. Go 学习笔记(12)— 字典map定义、初始化、读取字典、删除字典、清空字典、map 按 key 进行有序遍历

    Go 中字典也叫做 map , map 是一种无序的键值对的集合. map 最重要的一点是通过 key 来快速检索数据, key 类似于索引,指向数据的值. 1. 字典定义 可以使用内建函数 make ...

  3. 结构体作为STL map的key时需要注意什么? (某公司招聘面试试题)已跪~~~~(_)~~~~

    某公司招聘的面试环节, 有这样一个题目:结构体作为STL map的key时需要注意什么? 对于懂STL map的同学来说, 这个题目还是比较easy的, 先看程序: #include <iost ...

  4. 使用用户自定义类型作为map的key

    有时候我们想把用户自定义类型作为std::map的键值. 方法一)最简单的方法就是实现该自定义类型的<操作符,代码如下: class Foo { public:     Foo(int num_ ...

  5. Map 的 key、value 是否允许为null

    Map的key和value是否允许null? 直接写程序验证一下: import java.util.HashMap; import java.util.Hashtable; import java. ...

  6. 使用可变对象作为Java Map的key,会带来潜在风险的一个例子

    package hashMap;import java.util.HashMap; import java.util.Map;/* * 可变对象是指创建后自身状态能改变的对象.换句话说,可变对象是该对 ...

  7. java map byte[],java中byte数组不能作为map的key使用

    今天在使用java写代码的时候,用byte数组作为map的key来使用,发现在遍历的时候get到之前传进去的值总是为空,很是困惑,后来查了下资料发现java中的字节数组不能直接作为map的key来使用 ...

  8. Java小知识-----Map 按Key排序和按Value排序

    Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...

  9. c++ map 获取key列表_好未来Golang源码系列一:Map实现原理分析

    分享老师:学而思网校 郭雨田 一.map的结构与设计原理 golang中map是一个kv对集合.底层使用hash table,用链表来解决冲突 ,出现冲突时,不是每一个key都申请一个结构通过链表串起 ...

最新文章

  1. C++ Primer 5th笔记(chap 16 模板和泛型编程)转发
  2. linux debian硬盘安装,硬盘安装linux debian如何配置grub文件
  3. [华为机试练习题]5.IP地址推断有效性
  4. 符乐安:2020年短视频创作将迎来新的高峰
  5. C++笔记——.和::和:和-的区别
  6. .NET系统架构改造的经验和教训
  7. Android设计模式之——状态模式
  8. 【Flink】Flink流式导入Hbase 【视频笔记】
  9. GB50311-2016标准综合布线
  10. 「数字电路系列」博文目录,学习总结
  11. 基于GoogleMap,Mapabc,51ditu,VirtualEarth,YahooMap Api接口的Jquery插件的通用实现(含源代码下载) --转...
  12. 从单目视觉信息学习深度信息(一)
  13. 自学HarmonyOS应用开发(51)- 获取瓦片地图数据(续)
  14. 笔记本电脑能连上WiFi,却不能上网
  15. macOS Monterey 12.5 (21G72) Boot ISO 原版可引导镜像
  16. 使用美国国立医学图书馆编辑的最新版Index Medicus中医学主题词表(MeSH)
  17. 作为家庭娱乐衡量微型计算机基本技术指标,大学计算机 习题一..ppt
  18. 苹果更新一半能取消吗_苹果股价最新行情-iPhone12一半用户选蓝色 苹果股价还会继续涨吗?...
  19. 什么是企业微信scrm系统?企业微信SCRM系统有什么功能?企业微信SCRM系统推荐。
  20. 详细设计 英文_谷歌英文网站如何优化?

热门文章

  1. 模拟后台数据,ajax请求,有什么方法可以模拟ajax请求?
  2. PHP增删查改性能优化
  3. 虚拟磁盘类型_一起来了解一下Window10系统中虚拟硬盘的相关操作
  4. java font是什么意思_font-family of a font,它是什么?
  5. PHP中session特点及用途,PHP特点之会话机制2——Session及其使用
  6. centos7 tomcat_centos7中利用logrotate工具切割日志,以tomcat日志为例
  7. python的主要功能_Python的主要功能是什么?
  8. python连接es_Elasticsearch --- 3. ik中文分词器, python操作es
  9. 目前电子计算机已经发展到______阶段,《全国高校计算机联合考试广西考区一级笔试试题卷.doc...
  10. c语言 goto 跳出循环,goto语句可以跳出循环.ppt