Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        2年前关闭。
                    
                
        

在我正在做的一个更大的项目中,似乎在Integer上多次出现==比较,这导致了“错误”的行为。我想对其进行重构,但是当前在项目中使用的CheckStyle仅提供StringLiteralEqualityCheck(仅检查Strings上的==),并且对==进行常规搜索可以找到很多方式进行手动检查。

是否有人为CS解决了这个问题的工具或开源规则?

提前致谢

最佳答案

Checkstyle在这种情况下并没有真正的帮助,但是FindBugs(或者更好的是它的后继SpotBugs)可能会有所帮助。

此类检查的示例是:


Suspicious reference comparison to constantSpotBugs version
Suspicious reference comparisonSpotBugs version
Suspicious reference comparison of Boolean valuesSpotBugs version

09-27 18:36