空指针错误 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的对象与另一个对象直接比较,同样,

时间: 2024-10-26 16:40:49

空指针错误 java.lang.NullPointerException 浅谈的相关文章

java List做函数参数 出现空指针错误java.lang.NullPointerException,错误的语句如下:

问题描述 java List做函数参数 出现空指针错误java.lang.NullPointerException,错误的语句如下:boolean result = getVmAllocationPolicySimple().allocateHostForVmList(vmList);经测试传进去的vmList不为空. 解决方案 getVmAllocationPolicySimple() 这个返回是null解决方案二:getVmAllocationPolicySimple()这个是空把,你要判断

axis-AxisFault 错误 java.lang.NullPointerException

问题描述 AxisFault 错误 java.lang.NullPointerException 报错行是UserInfo userinfo = (UserInfo) call.invoke(new Object[] {sid,sysno,ip }); AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.lang.N

Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法_php技巧

当然这个东西很吃内存,配置差点的就不推荐使用了. 最近用的时候, 发现, 建立PHP工程后,再打开 Zend Studio for Eclipse就出现这个错误 An internal error occurred during: "Building PHP projects ..."java.lang.NullPointerException 很烦人的. 出错后PHP projects 会停止build,代码提示就全部没有了.需要手动rebuild. 今天在zend论坛找到一个解决办

请高手帮忙,为什么提示java.lang.NullPointerException这个错误

问题描述 if(request.getParameter("title")!=null){sql="insertintonewsvalues("+currid;sql+=",'"+title+"','"+content+"',";sql+="date(),'"+keywords+"','"+author+"')";conn.executeQuery

java.lang.NullPointerException 错误

问题描述 我写了个des加密程序,我把加解密分开了啊但是就出现了java.lang.NullPointerException,我把的代码附上第一个DESPlus/****/packagecom.des;importjava.security.*;importjavax.crypto.*;/***@authorzhanghu**/publicclassDESPlus{privatestaticStringstrDefaultKey="national";privateCipherencr

错误在哪-java.lang.NullPointerException

问题描述 java.lang.NullPointerException 问问大神,错误在哪,这是一个登录操作.. 解决方案 55行是什么 该不会是userService=null吧 解决方案二: 只能是validateUser()的错了,看一下你这个方法里面是否有空指针出现,例如把null值(userName||userPwd)传了进去,或者是里面某个对象是null,那些你没有贴出来,不造在哪 解决方案三: 我在ss2搭建时,遇到的错误,报空指异常: java.lang.NullPointerE

异常-java.lang.NullPointerException

问题描述 java.lang.NullPointerException 请问下这种异常怎么解决呢 解决方案 空指针错误.这种错误一般是由于: 1.使用的类对象为null 2.指针越界 3.配置文件配置路径有错,无法找到路径 解决方案二: SDK和ADT为22.6.2版本 工程为4.4.2 新建了一个工程 ,代码编写好后并没有报错,在安装支持后报出如下错误: java.lang.RuntimeException: Unable to start activity ComponentInfo{com

安卓开发过程中空指针的问题Java.lang.NullPointerException

   最近做一个新闻客户端的应用,经常出现空指针的问题,我想一方面可能是自己水平有限,二是开发过程中有一些遗漏的地方.一般情况下新手出现空指针的概率较高.下面来总结一下经常出现的问题. 1.所谓的指针,就是java中的对象的引用.比如String s;这个s就是指针.   2.所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向null,就是空指针.  3.所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法.比如上面的s假如为null

java.lang.NullPointerException 求帮忙 。。。。。

问题描述 java.lang.NullPointerException 求帮忙 ..... 大神们给我看看为啥空指针吧 2015-05-25 16:20:32,830 ERROR [500.jsp] 72 - <> java.lang.NullPointerException at org.hibernate.hql.ast.util.SessionFactoryHelper.findSQLFunction(SessionFactoryHelper.java:365) at org.hiber