最近工作中,经常需要比较2个对象的值。有个问题经常遇到,就是下面的2种情况。

public static void main(String[] args) {

Integer a =11;

Object b=a;

System.out.println(b.equals("11"));//false

String c ="11";

Object d = c;

System.out.println(d.equals("11"));//true

}

查看JDK中文文档:

Integer的equals

比较此对象与指定对象。当且仅当参数不为 null,并且是一个与该对象包含相同 int 值的 Integer 对象时,结果为 true

String的equals

比较此对象与指定对象。当且仅当参数不为 null,并且是一个与该对象包含相同 string 值的 String对象时,结果为 true

String和Integer都重载了Object的equals方法,要求,两个对象比较首先必须是同一个类型的。

这个类型应该是指“实际类型”,Object d的实际类型是“String”,所以调用String的equals方法。

多态~

原文首发:http://fansunion.cn/article/detail/536.html

最新文章

  1. android 事件分发机制详解(OnTouchListener,OnClick)
  2. MySQL KEY分区
  3. Java多线程系列--“JUC原子类”05之 AtomicLongFieldUpdater原子类
  4. 网络编程2--毕向东java基础教程视频学习笔记
  5. iOS TabbarController 设置底部Toolbar图片和文字颜色选中样式
  6. C# 之 读取Word时发生 “拒绝访问” 及 “消息筛选器显示应用程序正在使用中” 异常的处理
  7. hdu 5646 DZY Loves Partition 二分+数学分析+递推
  8. vim plugin 原理
  9. window.open || window.showModalDialog || window.showModelessDialog
  10. Java自学能学会吗?最新Java高级学习路线
  11. GMA Round 1 数列求和(Hard)
  12. oracle访问不同用户的表不添加用户名前缀
  13. MySQL锁之三:MySQL的共享锁与排它锁编码演示
  14. tp5内置验证规则
  15. 51NOD 1432 独木舟(贪心
  16. Linux(CentOS)搭建SVN服务器
  17. shell脚本批量部署ssh
  18. python开发必备神器 Virtualenv及管理工具Virtualenvwrapper
  19. 创龙DSP6748开发板LED闪烁-第一篇
  20. css中文本超出部分省略号代替

热门文章

  1. 设计模式六大原则(五):迪米特法则(Law Of Demeter)
  2. 【Tomcat】严重: Context [/grouponAdminWeb] startup failed due to previous errors
  3. 第二十八天 月出惊山鸟 —Spring的AOP
  4. curl如何发起DELETE/PUT请求
  5. visual studio code 中 debugger for chrome 插件的配置
  6. JAVA开发类似冒险岛的游戏Part1
  7. 并发,one
  8. GCJ 2009 Round 2 Problem A. Crazy Rows
  9. poj1679 The Unique MST(判定次小生成树)
  10. CSS3实现的立体button