为了账号安全,请及时绑定邮箱和手机立即绑定

equals()和==的区别

equals()和==的区别   请大神举例说明  谢谢

正在回答

5 回答

  • 基本数据类型(byte,short,char,int,long,float,double,boolean)之间的比较,应用双等号(==),比较的是他们的值。 

  • 复合数据类型用==比较时,比较的是内存中的存放地址;用equals进行比较时,在没有重写equals方法情况下,比较的还是内存地址,因为Object类的equals方法也是用==进行比较的

参考:Java中equals和==的区别

0 回复 有任何疑惑可以回复我~
#1

Bran_Zuo

常看到的String类之间的比较,equals方法比较的是值,==比较的是内存地址,因为String重写了Object的equals方法
2016-12-10 回复 有任何疑惑可以回复我~

基本数据类型:==比较的是值是否相等
引用数据类型:==和equals(没重写的equals)比较的是内存地址,空间地址。(即判断两个对象是否是同一个)

                        重写的equals比较的是内容

采纳哟哟哟

1 回复 有任何疑惑可以回复我~

字符串用.equals(),数字类型用==,例如:

String name1 = "李晓";

String name2 = "李晓";

int number1 = 2;

int number2 = 2;

if(name1.equals(name2){System.out.println("他们是相等的")}

if(number1==number2){System.out.println("他们是相等的")}

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

equals()和==的区别

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信