NullPointerException(空指针异常)对象为Null还拿来使用,就会出现此异常。
多的不说少的不聊,直接上代码!!!
public class Main {
public static void main(String[] args) {
String str1 = "";
String str2 = null;
System.out.println(str1.length()); //0
System.out.println(str2.length()); //Exception in thread "main" java.lang.NullPointerException at Main.main(Main.java:7)
}
}
首先创一个长度为0的空字符串,然后让String类型的引用str1指向该对象。
然后用引用str1调用String类的length()方法。得到str1引用所指向的字符串对象的长度为0。
接下来让String类型的引用str2指向null。
然后用引用str2调用String类的length()方法。这里并不会如str1那样得到str2引用所指向的对象空间的长度也为0。反而会抛出NullPointerException(空指针异常)对象为Null还拿来使用,就会出现此异常。该异常继承自RuntimeException,是运行时异常。
当引用str2调用String类中的length()方法时,控制台会显示下述异常。
Exception in thread "main" java.lang.NullPointerException at Main.main(Main.java:7)
总结:
不管是那种引用数据类型,只要引用类型的引用指向null对象且调用引用类型的方法,
就会抛出NullPointerException(空指针异常)对象为Null还拿来使用,就会出现此异常。