String cnname = channelOrder.getCnName();  获取输入的值
                   List list = null;
if((cnname.equals("")||cnname==null)){ 判定为空时查询所有
String hsql = "from ChannelOrder";
                   list = select_hsql(hsql);   
           }
else{        不为空时根据cnname条件查询
         String hsql = "from ChannelOrder where cnName='"+channelOrder.getCnName()+"'";
         list = select_hsql(hsql);
}
              问题是:当输入为空时 if语句不执行啊  问题可能很菜 谢谢大家了

解决方案 »

  1.   

    cnname.equals("")||cnname==null这里最好把cnname==null放在前面判断,这样可以避免空指针异常
     好像是这样 大侠教的 结贴了
      

  2.   

    (cnname.equals("")||cnname==null)改一下
    ("".equals(cnname.trim()) || cnname == null)
    可能你的cnname为"  "这样同样为空所以trim一下
    还有以后比较空用equals的时候记得空在前变量在后,不然如果cnname 真为null,还执行不到你去判断他null就报异常了。还有楼主也是yyz?
      

  3.   

    先确定你的:cnname=null还是cnname=""先判断(cnname==null || cnname.equals(""))
      

  4.   

    String cnname = channelOrder.getCnName(); 获取输入的值
      打印cnname的值 一切明了
      

  5.   

    null == cnname || cnname .equals("")你可以交换if else 执行方式
    if (null != cnname && !"".equals(cnname)) {...} else {..}