请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

枚举的等值比较和身份比较好像没有区别?

VIP.GREEN==VIP1.GREEN结果仍然是False
那等值比较不还是身份比较吗?

正在回答 回答被采纳积分+3

1回答

7七月 2020-03-11 16:22:04

你这个逻辑。。。

我没太懂。怎么就推断出 等值和身份是一样的?

都是Flase就是一样的?

0 回复 有任何疑惑可以回复我~
  • 提问者 慕仔7354941 #1
    好吧我说的逻辑是有点问题,但我不太明白等值比较有什么意义吗?我觉得可以被身份比较所替代。
    VIP.GREEN==VIP.BLACK结果为False时老师说是取值不同,但是到了不同类取值相同结果不还是False吗?
    回复 有任何疑惑可以回复我~ 2020-03-11 16:40:18
  • 7七月 回复 提问者 慕仔7354941 #2
    身份比较的是内存地址呀,等值比较的是值,这从原理上就不一样啊。不能从结果来反推呀
    回复 有任何疑惑可以回复我~ 2020-03-11 22:01:50
  • 幼儿园同学 回复 提问者 慕仔7354941 #3
    VIP.GREEN.value==VIP1.GREEN.value和VIP.GREEN!=VIP1.GREEN都是比较值,本身没有矛盾的。只不过第一个的值是整数,第二个的值枚举类型。而身份比较是直接比较地址,看是否是同一个对象。总结一下,两个枚举就不可能相同。
    回复 有任何疑惑可以回复我~ 2022-06-13 11:16:47
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信