我从页面中得到一个username属性,想判定下是否有值 我是写username==null或者username.equal("")呢?""和null二者有什么区别

解决方案 »

  1.   

    null是指username对象不存在即未分配内存;为“”时对象已创建但无数据(只有\0)
      

  2.   

    那我在逻辑层判断的时候有“”还是null呢
      

  3.   

    if(username==null||username.equal("")){输入为空;}
      

  4.   

    这个判断写起来就长了,我还有password等等,我用debug的时候看到的是"",需要null吗
      

  5.   

    ==比较的是变量 在内存中的起始地址是否相同,
    equals比较的是内容是否相同
    应该直接比较""就ok了
      

  6.   

    字符串String要是用比较的话,建议使用equals比较,这样比较的是变量在内存空间的值,而“==”比较的是指向内存空间的地址,所以不能用“==”来比较。还有就是理解 null和“”的含义,null的意思是为空,就是说没有分配内存空间,而 “”的意思是说分配了内存空间,但是没有赋值。
      

  7.   

    意思是我equals(“”)下就行了吗,如果这样判断,没值的时候还会不会报空指针异常
      

  8.   

    String str = "";表示内存中存在str,只是这个str没有值。。
    String str = null;表示内存中根本就不存在str,更不用说有值了。。
      

  9.   

    我也碰到过这个问题,在这里不用null 也可以的,没有错误
      

  10.   

    我觉得最好都写吧,因为我在做网站项目时遇到过这个问题,在跟数据库交互时,一段时间之后,里面可能既有null又有“”,所以为了不在以后给自己添加麻烦,我还是建议都写上。
      

  11.   

    "" 里面有东西 但是内容是空的 null里面木有东西