Я использую строку как блокировку и поэтому хочу, чтобы объект был новым экземпляром. 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.