`
zfwdl2005
  • 浏览: 239393 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

终点说说 java.lang.NullPointerException

 
阅读更多
  很多编程人员,特别是对初学者来讲,对于空指针的认识,足以看出这哥们写了多少代码。如果是一个简单的代码,出现空指针异常,可能大多数编程人员都能不经意间,习惯性的直接改掉了这个错误,但很少有朋友将空指针异常做过总结;当在比较复杂的业务逻辑下,出现空指针异常,很多朋友则是束手无策,为了一个空指针,可能花费的不仅仅是一分钟,一个小时,一天,或者一个星期....;
下面来说说这个空指针,先来看一些实例:
1.最基础的空指针
public static void main(String[] args) {
		String a = null;
		a.trim();
	}

说明:很是简单的代码,因为我们明确的看到 引用a的值是null,则调用a的trim()方法的时候,会出现NullPointException.
2.方法传参
public void show(List list){
		System.out.println(list.size());
	}

说明:当调用show方法的时候,我们如果使用show(null)这种方式去调用,这时,是编译通过的,但当程序运行的时候,则会报空指针异常,原因在于list这个参数,我们给传递了null.
3.集合中的对象
public static void main(String[] args) {
		Object[] os = new Object[10];
		for(Object obj : os){
			obj.toString();
		}
	}

说明:首先程序3创建一个数组对象,长度是10,也就是说里面可以放置10个Object对象,接着通过for还遍历里面的对象,调用对象的toString()方法,这时,由于数组对象是存在的,而并没有真正往里面放对象,遍历出来的数据什么也没有,却调用了它的toString()方法,必然会报NullPointException.

【分析&结论】
    1.通过上面的三个实例,可以看到,空指针异常无处不在,可以说任何数据都有可能为空(这里说null)应该更准确,说“空”是有问题的,可以想想问题在哪?
    2.我们总结发现,如果一个对象(引用更准确)为空,但它并不一定在运行的时候会报空指针异常(很多朋友就有这种想法)。
    3.当一个引用或对象为空,而我们去操作(操作指调用了它的属性或方法)了这个对象或引用,则在运行时,会报空指针异常。--------这是最根本的原因所在。
   
0
4
分享到:
评论

相关推荐

    java.lang.NullPointerException

    Java.lang.NullPointerException 解决方案与原因分析 Java.lang.NullPointerException 是 Java 语言中一种常见的异常,它发生在 Java 应用程序尝试使用 null 对象引用时。这种异常通常是由于程序员错误地认为对象...

    java.lang.NullPointerException的可能原因及处理.docx

    Java.lang.NullPointerException 的可能原因及处理 Java.lang.NullPointerException 是 Java 语言中最常见的异常之一,它的出现通常是由于编程不当或对象未被正确初始化所致。在本文中,我们将探讨 Java.lang....

    An internal error occurred during: java.lang.NullPointerException

    这个错误通常伴随着`java.lang.NullPointerException`异常,导致在启动Tomcat服务器时不断弹出错误对话框。这种情况下,尽管后台没有明显的错误日志,但频繁出现的警告窗口无疑会给开发工作带来不便。 ### 错误分析...

    CRASH问题:java.lang.NullPointerException

    java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.widget.ImageView.setImageResource(int)’ on a null object reference 今天在家练习ListView的时候,遇到一个java.lang....

    java.lang.NullPointerException出现的几种原因及解决方案

    java.lang.NullPointerException出现的几种原因及解决方案 java.lang.NullPointerException是Java中最常见的异常之一,它经常出现在日常编程中。了解java.lang.NullPointerException的原因和解决方案对于Java开发者...

    apple越狱备份数据

    at com.semaphore.jna.md.MDLibrary.<clinit>(MDLibrary.java:39) at com.semaphore.jna.idevice.win.WinDeviceLibrary.addNotificationHandler(WinDeviceLibrary.java:61) at ...

    绝望,上传文件失败。。遇到并解决java.lang.NullPointerException

    解决报错:java.lang.NullPointerException 解决方法:将文件的编码方式改为utf-8即可! 截图: 修改成功后:   代码: import os import json import re def json_to_html(i,cvenum): print('正在处理:'+...

    java 空指针异常(NullPointerException)

    at com.example.YourClass.yourMethod(YourClass.java:XX) ``` 其中,`YourClass`是你程序中的类名,`yourMethod`是引发异常的方法名,`XX`是异常发生的具体行号。 ### 4. 预防策略 - **初始化变量**:确保在使用...

    java.lang包

    Java语言的核心库之一就是`java.lang`包,它是最基础且最重要的包,包含了所有Java程序都会用到的一些基本类。这个包中包含了如异常处理、基本数据类型的包装类、数学运算、类和对象操作等核心功能。 异常处理是...

    Myeclipse安装aptana插件后报java.lang.NullPointerException解决方案

    ### Myeclipse安装Aptana插件后报java.lang.NullPointerException解决方案 #### 问题背景 在使用Myeclipse的过程中,不少用户遇到了一个较为常见的问题:安装Aptana插件之后,每次启动Myeclipse时都会出现`java....

    在Java中异常分析

    - **异常路径**:`java.lang.Object -> java.lang.Throwable -> java.lang.Exception -> java.lang.RuntimeException -> java.lang.NullPointerException` - **解释**:当应用程序尝试使用未初始化的对象引用调用...

    Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException

    在上述问题中,开发者遇到了一个特定的错误:“javax.xml.transform.TransformerException: java.lang.NullPointerException”。这个错误通常表明在尝试执行XML转换时,某个对象没有被正确地初始化或者为null。我们...

    解析Java中所有错误和异常的父类java.lang.Throwable

    在Java编程语言中,`java.lang.Throwable` 是所有错误(Error)和异常(Exception)的顶级父类,它是异常处理机制的基础。`Throwable` 类提供了封装异常信息的方法和属性,使得开发者能够对程序中出现的问题进行捕获...

    Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法

    在Java XML处理中,如果遇到 `javax.xml.transform.TransformerException: java.lang.NullPointerException`,则可能是由于XML处理库在执行转换过程中遇到了 null 引用。解决方法可能包括检查输入数据的完整性、配置...

    解决出现 java.lang.ExceptionInInitializerError错误问题

    `java.lang.ExceptionInInitializerError` 是Java编程语言中一种比较特殊的异常,通常在类的静态初始化过程中遇到问题时抛出。这个错误意味着在初始化类的静态变量或静态初始化块(static block)时发生了异常。这类...

    Exception in thread "main" java.lang.NullPointerException

    希望高手指点

    Sqoop通过Phoenix导hbase数据到hive

    出现此问题时使用:java.lang.NullPointerException at org.json.JSONObject.(JSONObject.java:144) at org.apache.sqoop.util.SqoopJsonUtil.getJsonStringforMap(SqoopJsonUtil.java:43) at org.apache.sqoop....

    FtpUtil.java

    FtpUtil.java 包

    java.lang.NullPointerException(解决方案).md

    项目中碰到的,记录一下解决方案

Global site tag (gtag.js) - Google Analytics