社区
Web 开发
帖子详情
java.lang.nullpointerexception
yanyaming
2005-03-24 09:59:41
在oc4j里面报这个java.lang.nullpointerexception是什么意思啊,哪位大侠能告诉我啊
...全文
177
10
打赏
收藏
java.lang.nullpointerexception
在oc4j里面报这个java.lang.nullpointerexception是什么意思啊,哪位大侠能告诉我啊
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zxmzfbdc
2005-03-24
打赏
举报
回复
看二楼的,就行了
dogod
2005-03-24
打赏
举报
回复
我靠,兄弟我为了分,可是拼了老命,啥招都使le !!
shihp
2005-03-24
打赏
举报
回复
看二楼的,就行了
silverend
2005-03-24
打赏
举报
回复
运行时的空指针异常,属编程人员常见的差错,得避免对象的未初始化。
二楼给的例子比较详细了
haroyy
2005-03-24
打赏
举报
回复
这年头想混分就得来这招
panshan
2005-03-24
打赏
举报
回复
空指针错误,
可能是取到的某些值为空(NULL),
而引起的程序中的流程走不下去,所以一般需要加上判断
nicolahul
2005-03-24
打赏
举报
回复
一个空指针有这么长的解释,怪吓人的
henghowzc
2005-03-24
打赏
举报
回复
空指针错误,可能是对象的值是null;----引上面的
抛出这个异常一般是该对象为null,然后被你用到了.举个例子:
UserBean user=(UserBean)request.getSession().getAttribute();//此处假设为null
if(user==null){}//这句没问题
if(user.getUserName.equals("admin")){}//这样就会抛出异常了.因为对象为空当然就不可能有比较这一说喽.
还譬如说String uid="";
if(request.getParameter("uid")!=null){}//可以
uid=request.getParameter("uid").trim()//抛出异常
黑马
2005-03-24
打赏
举报
回复
空指针错误,可能是对象的值是null
dogod
2005-03-24
打赏
举报
回复
1,空指针错误 java.lang.NullPointerException
使用基本的JAVA数据类型,变量的值要么已经是默认值,如果没有对其正常赋值,程序便不能通过编译,因此使用基本的JAVA数据类型(double,float,boolean,char,int,long)一般不会引起空指针异常。由此可见,空指针异常主要跟与对象的操作相关。
下面先列出了可能发生空指针异常的几种情况及相应解决方案:
不管对象是否为空就直接开始使用。
(JSP)代码段1:
out.println(request.getParameter("username"));
描述:
代码段1的功能十分简单,就是输出用户输入的表域"username"的值。
说明:
看上去,上面的语句找不出什么语法错误,而且在大多数情况下也遇不到什么问题。但是,如果某个用户在输入数据时并没有提供表单域"username"的值,或通过某种途径绕过表单直接输入时,此时request.getParameter("username")的值为空(不是空字符串,是空对象null。),out对象的println方法是无法直接对空对象操作,因此代码段1所在的JSP页面将会抛出"java.lang.NullPointerException"异常。
即使对象可能为空时,也调用java.lang.Object或Object对象本身的一些方法如toString(), equals(Object obj)等操作。
(JSP)代码段2:
String userName = request.getParameter("username");
If (userName.equals("root"))
{....}
描述:
代码段2的功能是检测用户提供的用户名,如果是用户名称为"root"的用户时,就执行一些特别的操作。
说明:
在代码段2中,如果有用户没有提供表单域"username"的值时,字符串对象userName为null值,不能够将一个null的对象与另一个对象直接比较,同样,代码段2所在的JSP页面就会抛出(java.lang.NullPointerException)空指针错误。
(JSP)代码段3:
String userName = session.getAttribute("session.username").toString();
描述:
代码段3的功能是将session中session.username的值取出,并将该值赋给字符串对象 userName。
说明:
在一般情况下,如果在用户已经进行某个会话,则不会出现什么问题;但是,如果此时应用服务器重新启动,而用户还没有重新登录,(也可能是用户关闭浏览器,但是仍打开原来的页面。)那么,此时该session的值就会失效,同时导致session中的session.username的值为空。对一个为null的对象的直接执行toString()操作,就会导致系统抛出(java.lang.NullPointerException)空指针异常。
解决方案:
为了确保进行操作或引用的对象非空,假若我们要对某对象进行操作或引用,我们首先去检查该对象是否已经实例化且不为空;并且在系统中加入针对对象为空时情况的处理。
如:采用String对象保存用户提交的结果;在如果涉及对象的操作时,先检测其是否为空后,检查到对象为空后,可再选择进行以下任一种处理方式:
处理方式 1) 检查到对象为空时,设置对象值为空字符串或一个默认值;
处理方式 2) 检测到对象为空时,根本不执行某操作,直接跳转到其他处理中。
处理方式 3) 检查到对象为空时,提示用户操作有错误。
将代码段2按以上方式进行改写,得到:
方式1:
String userName = request.getParameter("username");
// 该变量值为空时,转化为默认空字符串
If (userName == null)
userName = "";
If (userName.equals("root"))
{..........}
方式2:
String userName = request.getParameter("username");
// 该变量值为空时,转化为默认空字符串,不执行有关操作。
If (usreName != null)
{
If (userName.equals("root"))
{..........}
}
方式3:
String userName = request.getParameter("username");
// 该变量值为空时,转化为默认空字符串,不执行有关操作。
If (usreName == null)
{
// 提示用户输入信息为空
}
实际中,上面提供到三种处理方式也同样适用于其他异常的处理:
异常处理方式 1) 检查到异常出现,设置对象值为空字符串或一个默认值;
异常处理方式 2) 检测到异常出现,根本不执行某操作,直接跳转到其他处理中。
异常处理方式 3) 检查到异常出现,提示用户操作有错误。
java
.
lan
g.
NullPointerException
出现的几种原因以及解决
java
.
lan
g.
NullPointerException
出现的几种原因: 1、字符串变量未初始化 2、接口类型的对象没有用具体的类初始化,比如: Map map // 会报错 Map map = new Map(); //则不会报错了 3、当一个对象的值为空时,你没有判断为空的情况。 4、字符串与文字的比较,文字可以是一个字符串或Enum的元素,如下会出现异常 String str...
一般报
java
.
lan
g.
NullPointerException
的原因有以下几种
一般报
java
.
lan
g.
NullPointerException
的原因有以下几种: ·字符串变量未初始化; ·接口类型的对象没有用具体的类初始化,比如: List lt; 会报错 List lt = new ArrayList(); 则不会报错了 ·当一个对象的值为空时,你没有判断为空的情况。 你可以试着把下面的代码前加一行代码: if(rb!=null); ..................
java
.
lan
g.
NullPointerException
:null
java
.
lan
g.
NullPointerException
: null错误原因及解决方法 抛出问题: 今天在调试项目时报出一个错误
java
.
lan
g.
NullPointerException
: null,代码如下 XNIO-1 task-1] .p.c.s.c.PigxUserAuthenticationConverter : extractAuthentication===>>>authorities===>>>[{},{},{},{},{},{},{},{},{},
java
.
lan
g.
NullPointerException
出现的几种原因及解决方案
主要介绍了
java
.
lan
g.
NullPointerException
出现的几种原因及解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
java
.
lan
g.
NullPointerException
出现的几种原因: 1、字符串变量未初始化 2、接口类型的对象没有用具体的类初始化 3、当一个对象的值为空时,你没有判断为空的情况。
java
.
lan
g.
NullPointerException
java
.
lan
g.
NullPointerException
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章