java.lang.NullPointerException异常原因及解决
java.lang.NullPointerException异常原因是因为创建了一个引用类型的变量却没有指向任何对象而又去通过这个引用类型变量加点的形式去访问非静态的方法及属性。
给出三种情况,
第一种情况,在启动类中定义了引用类型变量,赋值为空:
/*** 引用类型变量没有指向对象所引起的空指针异常* @author Superhero* @version 2018年12月16日上午10:32:43*///图书类
class Books
{private String name;private String author;private double price;public Books(){}public Books(String name, String author, double price){this.name = name;this.author = author;this.price = price;}public String getName(){return name;}public String getAuthor(){return author;}public double getPrice(){return price;}
}
//启动类
public class NullPointerExceptionTest1
{public static void main(String[] args){Books book=null;//下面一行代码会报指针异常错误:System.out.println("name:"+book.getName()+", author:"+book.getAuthor()+", price:"+book.getPrice());}
}
第二种情况:创建了一个引用类型的数组,却没有给数组元素指向对象而调用了。
public class NullPointerExceptionTest2
{public static void main(String[] args){Books[] books = new Books[3];books[0] = new Books("NullPointerException","Superhero",88.8);//books[1],book[2]没有指向对象,所以也报空指针异常for(Books book : books)System.out.println("name:"+book.getName()+", author:"+book.getAuthor()+", price:"+book.getPrice());}
}
第三种情况是在类中定义了引用类型属性,却没有指向对象而调用了非静态的方法或属性,和第一种情况类似,这里就不给代码了。
java.lang.NullPointerException异常原因及解决相关推荐
- java.lang.IllegalStateException异常原因和解决
1.出现该异常场景 Iterator.remove() 迭代删除 引发 2.问题定位分析 1. Iterator.remove() 迭代删除 引发 重复 remove 导致出现该异常 场景示例 @Te ...
- java.lang.NullPointerException出现原因及解决办法
在java中几乎任何使用到.的地方都有可能会报这个错误. 我自己遇到的问题是,没有引入spring配置文件导致@Autowired注解失效没有完成自动装配,而导致的虽然声明了对象但是值为null. 当 ...
- 已解决java.lang.ClassCastException异常的正确解决方法,亲测有效!!!
已解决java.lang.ClassCastException异常的正确解决方法,亲测有效!!! 文章目录 报错问题 解决方法 福利 报错问题 粉丝群里面的一个小伙伴敲代码时发生了报错(当时他心里瞬间 ...
- 已解决java.lang.NoClassDefFoundError异常的正确解决方法,亲测有效!!!
已解决java.lang.NoClassDefFoundError异常的正确解决方法,亲测有效!!! 文章目录 报错问题 报错原因 解决方法 NoClassDefFoundError解决示例 福利 报 ...
- java.util.ConcurrentModificationException异常原因及解决方法
java.util.ConcurrentModificationException异常原因及解决方法 参考文章: (1)java.util.ConcurrentModificationExceptio ...
- java.lang.ArrayIndexOutOfBoundsException异常分析及解决
2019独角兽企业重金招聘Python工程师标准>>> java.lang.ArrayIndexOutOfBoundsException异常分析及解决 这是一个非常常见的异常,从名字 ...
- 已解决java.lang.Integer cannot be cast to java.lang.String异常的正确解决方法,亲测有效!!!
已解决java.lang.Integer cannot be cast to java.lang.String异常的正确解决方法,亲测有效!!! 文章目录 报错问题 解决方法 福利 报错问题 1.在执 ...
- 一般报java.lang.NullPointerException的原因有以下几种
一般报java.lang.NullPointerException的原因有以下几种: ·字符串变量未初始化: ·接口类型的对象没有用具体的类初始化,比如: List lt; 会报错 List ...
- 出现Caused by: java.lang.NullPointerException异常的解决方法
发现 拿到老师的项目,项目启动时正常,网页提交数据时出现Caused by: java.lang.NullPointerException 报错, 上一条日志显示 com.mysql.jdbc.exc ...
最新文章
- [微信小程序]组件化开发,以一个自定义模块框组件当做示例(附完整示例代码和效果图)
- 对FCKEditor = 2.6.4 通杀 exploit 的分析
- MySQL语句相关经验总结
- ubuntu怎么测tcp协议的服务器,Ubuntu利用TCP协议来获取server时间(示例代码)
- 通过反射获取DLL的类实现加载窗体
- u-boot内核启动分析
- FatMouse and Cheese
- 栈和队列之用一个栈实现另一个栈的排序
- ubuntu安装hive2.3.7
- 图片数字型的九九乘法表
- jQuery学习(二)—jQuery对象的获取
- openssl加解密原理
- 传统量化与ai量化对比_量化AI偏差的风险
- 前端React实现pdf在线阅读和电子合同
- 大数据数据仓库-简介
- 【安全】什么是0day漏洞?
- JPEG压缩编码算法原理
- 光纤模块与光纤收发器使用方法
- bzoj 4742 [Usaco2016 Dec]Team Building
- 感觉丧的时候,读一读曾国藩