equals的用法

论坛 期权论坛 脚本     
匿名技术用户   2021-1-2 03:22   131   0

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) 则可以。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP