今天敲代码的时候写了一个判断的方法:
咋一看貌似没什么问题,结果报了一个空指针异常的错误,原来是空字符串和空值的顺序有问题:
再写一个测试程序:
那就是说如果point为null的话,"".endsWith(point)就会抛出空指针异常。
把顺序改一下就可以了:
if (point == null || "".endsWith(point)){
System.out.println("空指针异常");
}
如果point为null或者point为空字符串,则打印出“空指针异常”信息。
注:null是值为空的情况,内存不分配地址,所以就会爆出了空指针异常的情况。
“”是一串空的字符串,内存分配地址。嘿嘿。
String point;
if ("".endsWith(point) || point == null) {
}
咋一看貌似没什么问题,结果报了一个空指针异常的错误,原来是空字符串和空值的顺序有问题:
再写一个测试程序:
if ("".endsWith(null))
Exception in thread "main" java.lang.NullPointerException
那就是说如果point为null的话,"".endsWith(point)就会抛出空指针异常。
把顺序改一下就可以了:
if (point == null || "".endsWith(point)){
System.out.println("空指针异常");
}
如果point为null或者point为空字符串,则打印出“空指针异常”信息。
注:null是值为空的情况,内存不分配地址,所以就会爆出了空指针异常的情况。
“”是一串空的字符串,内存分配地址。嘿嘿。