Вебинар: Стратегия без иллюзий: как превращать цели в результаты - 19.08
Анализатор обнаружил вызов метода, в который в качестве аргумента передаётся сам объект, у которого вызывается метод. Вероятно, данный код содержит ошибку, и в метод должен передаваться другой объект.
Рассмотрим пример:
a.foo(a);
Здесь из-за опечатки используется неверное имя переменной. Тогда корректный код должен был быть таким:
a.foo(b);
или таким:
b.foo(a);
Пример кода из реального приложения:
public class ByteBufferBodyConsumer {
private ByteBuffer byteBuffer;
....
public void consume(ByteBuffer byteBuffer) {
byteBuffer.put(byteBuffer);
}
}
Здесь в 'byteBuffer' пытаются вставить его собственные значения.
Корректный код должен выглядеть так:
public class ByteBufferBodyConsumer {
private ByteBuffer byteBuffer;
....
public void consume(ByteBuffer byteBuffer) {
this.byteBuffer.put(byteBuffer);
}
}
Диагностическое правило классифицируется как:
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V6100. |
Была ли полезна эта страница документации?
Мы ответим вам на:
Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок: