6个回答
展开全部
其实很好理解:
首先,我们来了解一下==和equals区别:==是用于比较变量,equals是用于比较对象;
其次,在开发中,有很多类型可以定义为null(比如实体类、String、PreparedStatement等等),从而导致null在equals比较的时候变得模糊,不能判断null是什么对象。举个例子:
String username=null;
if(username.equals("zbc")){
}
会报空指针异常,此时在if中username就是null,那在if中,你知道null是什么类型吗,肯定是不知道的,所以equals也无法判断null是什么对象(null可能是String,也可能是实体类)。
首先,我们来了解一下==和equals区别:==是用于比较变量,equals是用于比较对象;
其次,在开发中,有很多类型可以定义为null(比如实体类、String、PreparedStatement等等),从而导致null在equals比较的时候变得模糊,不能判断null是什么对象。举个例子:
String username=null;
if(username.equals("zbc")){
}
会报空指针异常,此时在if中username就是null,那在if中,你知道null是什么类型吗,肯定是不知道的,所以equals也无法判断null是什么对象(null可能是String,也可能是实体类)。
展开全部
NULL表示空,这个针对一个对象而言,不是基本数据类型的变量值。equals常用来字符串的比较,==则用来基本数据类型值比较
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string类型与null比较用==,string类型与空字符串“”比较用equals
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
null 调用equals方法肯定报错 不能用空引用去调用方法 应该把会出现null引用的值放在equals之后 if("zbc".equals(username)){} 这样就不会报空指针异常 会显示false 基本数据类型都有默认值可以== 包装类型比较用equals 因为源码会判断对象的类型 如果是空不会进行比较 直接false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然是==了
对象都不存在怎么equals啊
对象都不存在怎么equals啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询