我使用字符串作为锁,所以想确保对象是一个新实例。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 插件仍然报告这是一个问题:
模式 id:DM_STRING_CTOR,类型:Dm,类别:PERFORMANCE 使用 java.lang.String(String) 构造函数会浪费内存,因为这样构造的对象在功能上与作为参数传递的 String 没有区别。直接使用参数 String 即可。