好的,所以尽管其他两个答案都很有趣且有用(两个都是+1),但我并没有最终更改代码,而是要接受自己的答案。为了使FindBugs满意,我将注释从成员变量移到了周围的类。
我已经寻找了一段时间,但没有发现任何暗示SuppressWarnings只能应用于类和方法的信息。我也没有发现将其应用于成员变量的任何示例。因此,尽管此解决方案有效,但我不知道它是“正确的”解决方案(例如,我的FindBugs / Eclipse设置可能仍然存在问题)。
为什么不只是将锁对象声明为新对象?您不需要将其设置为String,因为您无需执行任何需要锁定的String-ness的操作,并且可以将其用于锁定之外。
如果没有看到其余的代码,我可能会冒险猜测您正在锁定对某种列表的访问。您可以将列表本身用作锁定对象。如果是私有的,那么就没有其他人会造成僵局的机会。