java.nio.file.Path
implements Iterable<Path>
, and provides an iterator
over the name elements of the path. Declaring a parameter of type
Iterable<Path>
is not recommended, since it allows clients to pass either an
Iterable
of Path
s, or a single Path
. Using Collection<Path>
prevents
clients from accidentally passing a single Path
.
Example:
void printPaths(Iterable<Path> paths) {
for (Path path : paths) System.err.println(path);
}
printPaths(Paths.get("/tmp/hello"));
tmp
hello
printPaths(ImmutableList.of(Paths.get("/tmp/hello")));
/tmp/hello
Suppress false positives by adding the suppression annotation @SuppressWarnings("IterablePathParameter")
to the enclosing element.