2024-04-17 09:01:56
java.lang.NullPointerException具体意思是空指针异常,最常见的问题就是没有初始化。
在Java中一般报空指针异常的原因有以下几种:
1、
2、接口类型的对象没有用具体的类初始化,比如:
List lt;会报错
List lt = new ArrayList();则不会报错了
3、当一个对象的值为空时,没有判断为空的情况。可以试着把下面的代码前加一行代码:
if(rb!=null && rb!="")
改成:
if(rb==null);
if(rb!==null&&rb!="") 或者if((“”).equals(rb))
扩展资料:
java.lang包括基本Object类、Class类、String类、基本类型的包装类、基本的数学类等等最基本的类。
类 Math 提供了常用的
类 ClassLoader、Process、Runtime、SecurityManager 和 System 提供了管理类的动态加载、外部进程创建、主机环境查询(比如时间)和安全策略实施等“系统操作”。
类 Throwable 包含了可能由 throw 语句抛出的对象(§14.16)。Throwable 的子类表示错误和异常。
2024-04-17 05:52:13
java.lang.NullPointerException是java常见的异常, 中文常常翻译为 空指针异常.
触发条件: 当一个对象为空(null)时, 试图调用对象的方法, 或者访问或者修改对象的属性时 ,就会抛出空指针异常.
解决该异常的办法:
尽量避免使用为空的对象,
或者先判断是否为null 然后再使用,
或者使用try catch 捕获到该异常后处理这个异常.
参考代码
错误示范
public class Demo {
public static void main(String[] args) {
String str = null;
if(str.equals("ABC")) { //str为空,调用str的equals方法, 就会报错
System.out.println("字符串的内容是ABC");
}else {
System.out.println("字符串的内容不是ABC");
}
}
}
解决示范1
public class Demo {
public static void main(String[] args) {
String str = null;
if("ABC".equals(str)) { //使用"ABC"这个不为null的对象,调用他的equals方法
System.out.println("字符串的内容是ABC");
}else {
System.out.println("字符串的内容不是ABC");
}
}
}
示范2: 先判断是否为空, 不为空, 才调用方法和访问属性
public class Demo {
static String str1;
public static void main(String[] args) {
if(str1!=null) {//先判断它不为空,才调用 它的length方法
System.out.println(str1.length());
}else {
System.out.println("str1对象为空");
}
}
}
示范3
import java.util.Scanner;
public class Demo {
static String str1;
public static void main(String[] args) {
try {
System.out.println(str1.length());
}catch(NullPointerException e) {
System.out.println("str1为空...请赋值..");
Scanner sc = new Scanner(System.in);
str1 = sc.nextLine();
System.out.println("str1的长度为:"+str1.length());
}
}
}
//str1为空...请赋值..
//ABC
//str1的长度为:3
2024-04-17 18:11:46
2024-04-17 02:44:50
2024-04-17 08:36:26