Подавление ошибки Java Findbugs (EI_EXPOSE_REP) - PullRequest
6 голосов
/ 29 марта 2011

У меня есть метод gettor Java, который выглядит следующим образом:

import java.util.Date;
//...
public Date getSomeDate() {
  return someDate;
}

и Findbugs сообщает, что это предоставляет изменяемый объект: «Может предоставлять внутреннее представление, возвращая ссылку на изменяемый объект». Я изменил код на это:

import java.util.Date;
//...
public Date getSomeDate() {
  return new Date(someDate.getTime());
}

но Findbug по-прежнему сообщает об этой же уязвимости. Что еще я могу сделать, чтобы подавить / исправить эту проблему? Я использую Findbugs 1.3.9 в плагине IntellJ 10 Findbugs.

Ответы [ 2 ]

11 голосов
/ 29 марта 2011

Я только что понял, что Findbugs анализирует скомпилированный код (.class файлы), а не исходный код.После восстановления и повторного запуска Findbugs проблема исчезла.

0 голосов
/ 18 марта 2013

Нет, нам нужно клонировать этот объект, используя следующий код:

public Date getSomeDate() {
  return new Date(someDate.getTime()).clone();
}
...