如何解决JAVA中的空指针错误?
在编译时没有任何错误,运行时报空指针错误,请问如何找出错误的原因,我现在最大的麻烦是找不出错误在什么地方,Eclipse只是在运行时才报错,我不知道为什么报错,请问谁有这...
在编译时没有任何错误,运行时报空指针错误,请问如何找出错误的原因,我现在最大的麻烦是找不出错误在什么地方,Eclipse只是在运行时才报错,我不知道为什么报错,请问谁有这方面的经验?
展开
4个回答
2013-08-09
展开全部
System.out.println("check1");
通过每步输入输出语句进行检查;
在定义引用类型的变量时候最容易出这种错误了
例子:
public static void main(String args[]){
Person p=null;
p.setName("张三");
System.out.println(p.getName());
/*这个时候你的p就出现空指针异常;
因为你只是声明了这个Person类型的对象
并没有创建对象;所以它的堆里面没有地址引用;*/
//切忌你要用对象掉用方法的时候一定要创建对象;
p=new Person();
}
class Person{
int id;
String name;
public Person(){
}
public Person(int id,String name){
this.id=id;
this.name=name;
}
public String setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
通过每步输入输出语句进行检查;
在定义引用类型的变量时候最容易出这种错误了
例子:
public static void main(String args[]){
Person p=null;
p.setName("张三");
System.out.println(p.getName());
/*这个时候你的p就出现空指针异常;
因为你只是声明了这个Person类型的对象
并没有创建对象;所以它的堆里面没有地址引用;*/
//切忌你要用对象掉用方法的时候一定要创建对象;
p=new Person();
}
class Person{
int id;
String name;
public Person(){
}
public Person(int id,String name){
this.id=id;
this.name=name;
}
public String setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
2013-08-09
展开全部
eclipse中,如果有空指针异常,肯定会有哪行抛出,你具体看抛出异常的代码行,然后看到底是怎么出现空指针异常的,处理下.
实在没办法就debug下!
实在没办法就debug下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-09
展开全部
变量没有赋值或者赋NULL 或者类没有被实例化就拿来用
Eclipse抛异常了,你在异常的下面找,总有一行是你写的方法,记得是从上往下找,
Eclipse抛异常了,你在异常的下面找,总有一行是你写的方法,记得是从上往下找,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-09
展开全部
只能单部跟踪呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询