社区
Java SE
帖子详情
xxx.equals(null)和xxx == null 的区别
whyy0
2004-09-23 04:32:57
同上
我只问空的这种情况,别的情况不用解释,谢谢
...全文
5681
22
打赏
收藏
xxx.equals(null)和xxx == null 的区别
同上 我只问空的这种情况,别的情况不用解释,谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shine333
2004-09-25
打赏
举报
回复
public boolean test(Object xxx) {
return xxx.equals(null) == (xxx == null);
}
test永远不可能返回true(前提是equals的写法,符合那几条规则)
:P
Tasia
2004-09-25
打赏
举报
回复
happyegg(想转型的程序员) 说的是对的。
即使程序写得像jamesfancy()边城狂人(James Fancy) 这样,XXX为空时也同样是抛出NullPointerException.
你想相,是这样的:
MyClass XXX = null;
XXX.equals(Oobj);
当然是一个异常。
dyhml
2004-09-25
打赏
举报
回复
equals(Object o)是自己写的,
Object 内默认为:
public boolean equals(Object obj) {
return (this == obj);
}
来自java源码.src.zip
gadagada
2004-09-24
打赏
举报
回复
1
晕啊,
这个问题根本就不成立哈.
请问大家会哪个猪头会写 XX.equal(null)?
明摆着就算有XX是null,肯定是出NullPointException.
xueqs
2004-09-24
打赏
举报
回复
up
dlxu
2004-09-24
打赏
举报
回复
如果XXX是Object的话,用equals方法的话,如果其中参数为空,那么肯定返回false,如果XXX不是OBJECT,那么就没有equals方法
baffling
2004-09-24
打赏
举报
回复
同意happyegg的说法!
beakham
2004-09-24
打赏
举报
回复
同意happyegg的说法!
happyegg
2004-09-24
打赏
举报
回复
xxx.equals(null)和xxx == null
区别就是,如果程序能正常运行下去的话
xxx.equals(null)一定只能返回false
xxx == null可能返回true,也可能返回false
因为如果xxx是null的话
xxx.equals(null)会抛出NullPointerException
xxx == null返回true
如果xxx不是null的话......
vongood
2004-09-24
打赏
举报
回复
对于null,是一样的吧。
易点互联
2004-09-24
打赏
举报
回复
equals比较的是实体内容,==比较的对象的引用
是不一样的
whyy0
2004-09-24
打赏
举报
回复
CJMaster(Master): 对于null来说会有什么不同?判断的结果会有不同吗?
liudongbaollz
2004-09-24
打赏
举报
回复
支持 jamesfancy()边城狂人(James Fancy) ,他对于xxx.equals(null)的解释很确切
同时支持flyforlove(为情飞) ,他对xxx.equals(null)的原理说得很好。
至于xxx == null 是判断该引用是否是否为空对象,一般情况,定义对象是通常为:
Object xxx=null;
然后赋值
xxx = new Object();
flyforlove
2004-09-24
打赏
举报
回复
equals方法有什么功能只有定义类的用户自己知道,
所以上面的关于equals功能的讨论都是没有道理的。
边城狂人
2004-09-24
打赏
举报
回复
equals 也可能返回 true 的,比如某个人写了这样一个类
public class MyClass {
public boolean equals(Object obj) {
if (obj == null) return true;
else if (obj instanceof MyClass) return true;
else return false;
}
}
不要说我极端,这种可能并不是没有。
所以,equals(null) 到底返回什么,得相比较的类的实现。不能武断的说一定为 false.
sabbathsabbath
2004-09-24
打赏
举报
回复
equals()比较二者内容是否相等,==比较二者是否为同一引用,即指向二者的指针是否相等,说白了就是判断二者是不是同一个东西。
equals()是类的方法,调用它必然要引用对象,如果XXX的值为null,必然会抛异常;如果XXX的值不为null,此方法返回false,也就是说不可能返回true。
用==判断的话分两种情况:如果两个操作数是基本类型,那么没什么新鲜的,跟c一样,就是1等于1、2等于2的问题;如果两个操作数是对象,那么一定当两个对象是同一个,才会返回true,否则即使二者的内容一样,指向它们的指针未必相等,也就不一定返回true。
具体到这个问题,结论是:equals方法恒为false,双等号有可能返回true。
RaistlinYu
2004-09-24
打赏
举报
回复
楼主是钻牛角尖了,其实他对equals和==是很了解的,他只是在考虑null这种特殊情况而已
sylmoon
2004-09-24
打赏
举报
回复
详细请看Practical Java 中文版,对JAVA的相等性阐述相当明白
sylmoon
2004-09-24
打赏
举报
回复
用”==“测试两个基本类型是否相等,或指向同一个对象。用“equals ”方法测试两个对象是否相等。JAVA 提供了对象,基本类型,和相等性三个观念,这三个要素是进行class设计的基础。
Practical Java
hyhu
2004-09-24
打赏
举报
回复
呵呵,是的,对null做引用当然会报NullPointException,要不就是返回一定为false
加载更多回复(2)
基于CTRV模型与车载激光雷达的周向防碰撞系统在Cars im2019+s imu link环境下的应用
内容概要:本文介绍了基于CTRV(常转向角速率和变速度)轨迹预测模型和车载激光雷达的周向防碰撞系统的构建及其在Cars im2019+s imu link环境下实现安全预警与避障功能的方法。文中详细解释了CTRV模型的工作原理,展示了简化的Python伪代码用于演示车辆状态预测流程,并阐述了车载激光雷达在感知周围环境中起到的关键作用。此外,还讨论了如何利用Simulink工具链对整个系统进行建模,确保能够在潜在碰撞事件前及时采取措施避免事故的发生。最后强调了该系统的灵活性和扩展性,鼓励研究者在此基础上继续改进算法性能。 适用人群:从事智能交通系统、自动驾驶技术研发的专业人士,尤其是关注车辆主动安全技术和路径规划领域的工程师和技术爱好者。 使用场景及目标:适用于需要提升车辆安全性、减少交通事故发生的场合,特别是那些致力于开发高级驾驶辅助系统(ADAS)的企业和个人。主要目的是通过引入先进的数学模型和传感技术,增强车辆应对复杂路况的能力,保障驾乘人员的生命财产安全。 其他说明:文中提供的代码片段仅为概念验证性质,实际部署时可能需要考虑更多的工程细节和技术挑战。同时,随着技术的进步,未来还可以集成更多类型的传感器数据,进一步丰富和完善现有的防碰撞机制。
python基于Django的在线考试与评估系统设计与实现(完整项目源码+mysql+说明文档)计算机毕业设计源码.zip
完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:pycharm
软件开发文档:需求文档评审实例.pptx
软件开发文档:需求文档评审实例.pptx
rust-toolset-1.54.0-1.module_el8.5.0+910+9ca45234.tar.gz
# 适用操作系统:Centos8 #Step1、解压 tar -zxvf
xxx
.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
脉冲激光加热材料观测温度场和应力场情况
利用Python进行脉冲激光加热下材料温度场和应力场的仿真研究。首先,通过热传导方程和有限差分法计算材料在激光照射下的温度分布,确保计算稳定性并模拟高斯分布的激光热源。接着,基于热应变和平面应力公式计算由温度变化引发的应力场,探讨了应力各向异性和环状应力结构的形成机制。最后,使用Matplotlib将温度场和应力场可视化,展示了激光中心区域的压应力和外围区域的拉应力分布。 适合人群:从事材料科学、物理学以及相关领域的研究人员和技术人员,尤其是对激光加工和材料性能有深入研究兴趣的人群。 使用场景及目标:适用于希望深入了解脉冲激光加热对材料微观结构影响的研究者,旨在揭示温度场和应力场的变化规律及其对材料性能的影响,为优化激光加工工艺提供理论支持。 其他说明:文中提供的Python代码片段可用于复现实验结果,帮助读者更好地理解和应用所介绍的方法。同时,文中提到的现象如环状应力结构有助于解释某些激光加工缺陷的成因。
Java SE
62,633
社区成员
307,265
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章