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

为什么比较变量a=0和b=0不用重写equals()?

这里是只有实例化的对象用equals()比较才需要重写是吗?要是平时,比方说赋值int a=0;int b=0;然后比较a是否等于b就不需要重写是为什么,难道a和b不需要分配地址吗

正在回答

3 回答

因为a,b是基本类型,并且不是你写的那个类的成员变量,所以a,b是不能用equals比较的,如果强行用equals比较,则会编译报错。你提到重写,重写的概念是在需要在子类中重写其父类的方法,可是,基本类型有父类吗?没有,所以重写基本类型的数据的equals方法这一概念就不存在。至于分配内存这个问题,在调用它们的时候,肯定分配了内存给它们。所以,这是为何基本类型只能用==比较,而不能用equals。

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

a和b是int类型,字符串用equals().

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

因为两种都是数据类型 

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

举报

0/150
提交
取消

为什么比较变量a=0和b=0不用重写equals()?

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