java枚举字符串吗_java – 将字符串与枚举进行比较

我正在使用名为FindBugs的静态分析工具分析以下代码段.

if(str.equals(enum.SOMEVALUE)) {// do something};

其中str是一个String,枚举是枚举.该工具会为此代码生成以下警告,并声明

This method calls equals(Object) on two references of different class types with no common subclasses. According to the contract of equals(), objects of different classes should always compare as unequal; therefore, according to the contract defined by java.lang.Object.equals(Object), the result of this comparison will always be false at runtime.

如果我用以下代码替换上面的代码行:

if(str.equals(enum.SOMEVALUE.toString())) {// do something};

那么警告消失了.但是我不知道该工具产生的警告是否真的是真的吗?我正在修正它吗?因为我之前已经看过这样的比较,并且似乎正常工作.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值