if(c_trn_flag.length() == 0){
 System.out.println("ac_trn_flag = null");
 c_trn_flag = "";
}else{
System.out.println("bc_trn_flag = "+c_trn_flag);
}

解决方案 »

  1.   

    i think it :if(c_trn_flag.trim().length() == 0 || c_trn_flag==null){
     System.out.println("ac_trn_flag = null");
     c_trn_flag = "";
    }else{
    System.out.println("bc_trn_flag = "+c_trn_flag);
    }
      

  2.   

    if(c_trn_flag.trim().length() == 0 || c_trn_flag==null){……}
    是对的
    因为c_trn_flag = ""和c_trn_flag = null是不同的
    前者用上.length()方法有值且为0,而后者用上.length()方法则会报异常,说是nullPoint……
      

  3.   

    1、null 不等于""—— 一个String 对象为null,表示他没有被分配空间;而一个String 对象为"",表示他已经被分配空间,值为"";
      2、比较两个String对象,推荐方法 .compareto(String s);而不是==;
      

  4.   

    根据程序判断,只有一种可能,这里的c_trn_flag.equals("null") == true
    就是说c_trn_flag 不是null也不是""而是"null"
    修改如下:
    if(c_trn_flag==null ||(!c_trn_flag.equals("null"))){
     System.out.println("ac_trn_flag = null");
     c_trn_flag = "";
    }else{
    System.out.println("bc_trn_flag = "+c_trn_flag);
    }