本帖最后由 hlxstc_xly 于 2014-08-26 23:27:06 编辑

解决方案 »

  1.   

    logined != null && logined.trim().equals("successful")
    判断了logined 不为null之后,才可以调用trim方法,否则让null调用trim,明显空指针了问题是logined如果等于“successful“的话,那么logined的就肯定不会是空值
    从代码的健壮性来讲,必须考虑logined不等于successful的情况,logined为null,为空字符串,为各种其他字符的情况
      

  2.   

    &&是在前面执行是false就不执行了,下面那个如果是null,在调用方法就报错了。
      

  3.   

    if(null != logined) {
         if("successful".equals(logined.trim())){
                bLogined = true;
          }
    }
    先判断不等于null , 在做操作。
      

  4.   

    得到的值在经过判断是需要先判断是不是null。如果该值是null是,如果没有判断是不是null,就直接.trim(),肯定会报空指针错误啊。
      

  5.   

    以上都是正解。要使用.trim().的前提是logined不为空。
      

  6.   

    你是调用了trim方法若字符串对象为空,调用就会抛异常
      

  7.   

    if(logined != null && logined.trim().equals("successful")) {
       bLogined = true;
    }
    “&&”有短路的作用, 当你“logined != null”为true的时候,才会执行“&&”后面的,所以logined.trim()才不会报空指针。你把“&&”换成“&”就会报错了。