In a course on Spring Batch, I was surprised to see ? extends String.
Since String is a final class, how is this correct?
            public void write(List<? extends String> items) throws Exception {
                System.out.println(String.format("Received list of size: %s", items.size()));
                items.forEach(System.out::println);
            }
 
     
     
    