У меня есть findebug, который проверяет поиск ошибки в одном случае и не находит в другом, и я совершенно не понимаю, как он связан.
Так что я столкнулся с этим RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT и начал пробовать другой код, и нашел варианткоторые исправляют это предупреждение, но оно выглядит совершенно не связанным с сообщенной проблемой.
Этот код генерирует RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT
final Node currentProjectNode = TripleUtil.createNode(projectId);
final ParameterizedSparqlString pQuery = new ParameterizedSparqlString();
pQuery.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);
И этот код НЕ генерирует ошибку
final Node currentProjectNode = TripleUtil.createNode(projectId);
final PrefixMappingImpl prefixMapping = new PrefixMappingImpl();
prefixMapping.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);
final ParameterizedSparqlString pQuery = new ParameterizedSparqlString();
pQuery.setNsPrefix(TripleUtil.NS_PREFIX, TripleUtil.NS);
Поскольку выможно увидеть, что я просто создаю экземпляр класса и затем использую его метод, и все, я не изменил код, который генерирует ошибку, я не изменил метод, который генерирует ошибку.Похоже, в первом примере findbug просто не может найти правильную реализацию или что-то, но я не понимаю, почему?В конце концов, об этом не следует сообщать, потому что prefixMapping.setNsPrefix выполняет некоторую работу, а не просто возвращает значение.