equals的用法

来源:互联网 发布:成功网络促销案例 编辑:程序博客网 时间:2024/05/20 22:41
 

package cn.enn;

public class Logic {

 /**
  * @author  zhangxiaojun
  * @version Aug 31, 2011  3:52:40 PM
  * @param args
  * TODO:
  */
 static String str ;
 public static void main(String[] args) {
  // TODO Auto-generated method stub
 
//  if(str!=null & !str.equals("")){
//   System.out.println(str);
//  }else{
//   System.out.println("cc   "+str);
//  }
  System.out.println("".equals(null));
 }

}

分析:如上代码 写成if(str!=null & !str.equals("")){   则 报错:Exception in thread "main" java.lang.NullPointerException
 at cn.enn.Logic.main(Logic.java:15)

如果写成 if(str!=null & !"".equals(str)){  则不报错 运行正常。

原因分析:equals的语法格式:  String的equals(Objecet  obj)方法, 括号里面只要是个object就可以。如果str=null那么 就不能正确执行str.equals("") 因为null不是String类型,相反"".equals(null)  则可以。

原创粉丝点击