枚举值 java_Java的枚举值能不能用==比较

本文探讨了Java中枚举类型的比较方式,通过实验对比了使用==和equals方法的区别,结果显示二者对于枚举类型而言效果相同。

展开全部

一般在Java代码里面,涉及到比较2个值的问题,除了是简单的一般数62616964757a686964616fe78988e69d8331333365653239据类型意外,字符串除外,我们都是使用==来判断是否相等的,但是对于字符串和对象以及封装类型的数据都是使用equals方法,来判断2个值是否相等。所以,当我看到别人的代码中,枚举类型变量,直接使用==,来判断是不是相等,很是诧异。然后就有了下面的调查和测试。

先看测试代码:

[java] view plain copy

/**

* 测试枚举比较,使用equal和==

*/

private static void testEnumEqual() {

GameEnum s1 = GameEnum.BIG;

GameEnum s2 = GameEnum.BIG;

GameEnum ss1 = GameEnum.SMALL;

System.out.println("s1 == s2:" + (s1 == s2));

System.out.println("s1.equals(s2):" + (s1.equals(s2)));

System.out.println("s1 == ss1:" + (s1 == ss1));

System.out.println("s1.equals(ss1):" + (s1.equals(ss1)));

}再看使用的枚举代码:[java] view plain copy

/**

* Created by lxk on 2017/2/23

*/

public enum GameEnum{

BIG,

SMALL,

FATTER

}最后是代码执行的结果图:

6f9380e4553b644fc2c8fc2c2c4594fb.png

结果是:

可以看到,使用== 和使用equals方法的执行结果是一样的。

为什么呢?

可以看下图,因为在Enum类里面,已经重写了equals方法,而方法里面比较就是直接使用==,来比较2个对象的。所以,你在外边直接使用==也是可以的。

c8f888db02a60a151b23839e8fd10a0c.png

内容概要:该文档详细介绍了由JEDEC固态技术协会发布的Universal Flash Storage(UFS)4.1标准(编号JESD220G),旨在消除制造商与采购商之间的误解,促进产品的互换性和改进,同时协助用户选择和获取适当的产品。主要内容包括了UFS应用层的SCSI命令、命令描述符块(CDB)、读写错误恢复模式页面及其默认设置。此外,还涵盖了一系列SCSI命令(如INQUIRY、MODE SELECT、READ/WRITE以及FORMAT UNIT等)。文档进一步探讨了UFS安全机制,尤其是设备数据保护机制及基于硬件的安全防护措施,如RPMB操作流程和安全协议的输入/输出指令。还提到了启动配置与初始化流程以及相关的查询函数传输协议服务。最后涉及一些关键性的更新变化如新增的队列深度定义、动态容量资源管理策略、逻辑单元的可选功能变为必选项等特性。适合人群:具备一定电子工程或计算机硬件背景的专业人士及研发工程师,特别是从事嵌入式系统开发或者存储设备研究方向的技术人员。使用场景及目标:本标准适用于希望深入了解高速闪存设备的工作机制和技术细节的研发团队;可用于指导设计兼容性强且性能优越的新一代移动终端内部存储解决方案;帮助硬件开发商确保所生产产品符合国际通行的标准规范从而更容易进入全球市场。其他说明:此文件由JEDEC标准化组织官方公布并经过董事会审议批准。虽然可以在网站免费下载但请注意引用时保持尊重版权。如果您有任何疑问或意见可以发送至JEDEC官方网站查询更多联系信息。该文档不仅仅是规定了一套新的行业准则它更代表着整个行业内达成共识的技术发展方向并且可能会对未来的技术发展产生深远的影响。文中提供的信息不仅限于当前版本也可能成为未来美国国家标准的一部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值