Skip to content

Instantly share code, notes, and snippets.

@archie
Last active August 29, 2015 13:57
Show Gist options
  • Select an option

  • Save archie/9784771 to your computer and use it in GitHub Desktop.

Select an option

Save archie/9784771 to your computer and use it in GitHub Desktop.
Exploring wildcard types, or the so called question mark type, in Java.
package wild;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Viewer {
public void process1(List<Object> items) {
for (Object i : items)
i.toString();
}
public void process2(List<Item> items) {
for (Item i : items)
i.process();
}
public void process3(List<?> items) {
for (Object i : items)
i.toString();
}
public void process4(List<? extends Item> items) {
for (Item i : items)
i.process();
}
public static void main(String[] args) {
Viewer viewer = new Viewer();
viewer.process3(new ArrayList<TwitterItem>(Arrays.asList(new TwitterItem() {
@Override
public void process() {
// some computation
}
@Override
public String toString() {
return "twitteritem";
}
})));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment