- SonarLint for Eclipse 7.1.0.39158
- Eclipse 2021-09 (4.21.0), build id: 20210910-1417
- openjdk version “16.0.2” 2021-07-20, OpenJDK 64-Bit Server VM Temurin-16.0.2+7 (build 16.0.2+7, mixed mode, sharing)
When collecting a Stream
with Collectors.toList()
in Java 16+, S6204 suggests to use the new method Stream.toList()
to collect to an unmodifyable List, apart from cases where the List is modified afterwards. List.removeIf(Predicate)
seems to be not considered a modification and gives a false-positive:
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class S6204ListModification {
void mutatedList() {
List<String> list = Stream.of("").collect(Collectors.toList());
list.removeIf(s -> true);
}
}