编程语言
首页 > 编程语言> > java – 在Eclipse中抑制FindBugs警告

java – 在Eclipse中抑制FindBugs警告

作者:互联网

我使用字符串作为锁,因此要确保该对象是一个新实例. FindBugs抱怨,因为直接定义字符串通常更有效(使用双引号).我的代码看起来像:

/** A lock for the list of inputs. */
@edu.umd.cs.findbugs.annotations.SuppressWarnings("DM_STRING_CTOR")
//We want a new String object here as this is a lock.
private final Object inputListLock = new String("inputListLock");

我在这里做错了吗? Eclipse FindBugs插件仍然将此报告为一个问题:

Pattern id: DM_STRING_CTOR, type: Dm, category: PERFORMANCE

Using the java.lang.String(String) constructor wastes memory because the object so constructed will be functionally indistinguishable from the String passed as a parameter.  Just use the argument String directly.

解决方法:

为什么不直接将锁对象声明为新对象?你不需要把它变成一个String,因为你没有做任何需要锁的String-ness的东西,并且你不会将它用于锁定以外的任何东西.

在没有看到你的其余代码的情况下,我可能会猜到你正在锁定对某种列表的访问.您可以使用列表本身作为锁定对象.如果它是私有的,则其他人不可能导致死锁.

标签:java,eclipse,suppress-warnings,findbugs
来源: https://codeday.me/bug/20190726/1545105.html