我最近遇到了一个奇怪的问题,即测试在我们的 Bamboo 盒子上失败,但在开发盒子上却没有。经过大量调试后,我们发现原因是在 Long 而不是 .equals 上使用了 ==。一旦我发现它是有道理的,但令我惊讶的是没有开发人员可以重新创建它,但它总是发生在构建盒上。
对于我们的测试来说,最好能捕捉到这些类型的东西并尝试在它不想要的地方阻止 ==,但我不知道有什么方法可以告诉 Java 不要实习 Longs、Strings 等。 .. 是否可以为 JVM 提供一个设置来处理这个问题?
最佳答案
检测此类问题的一种方法是在构建期间对代码执行静态分析。我相信FindBugs有一个引用相等检测器。
关于java - 有没有办法告诉java总是创建一个新实例而不是实习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18641780/