//: generics/UnboundedWildcards1.java import java.util.*; public class UnboundedWildcards1 { static List list1; static List list2; static List list3; static void assign1(List list) { list1 = list; list2 = list; // list3 = list; // Warning: unchecked conversion // Found: List, Required: List } static void assign2(List list) { list1 = list; list2 = list; list3 = list; } static void assign3(List list) { list1 = list; list2 = list; list3 = list; } public static void main(String[] args) { assign1(new ArrayList()); assign2(new ArrayList()); // assign3(new ArrayList()); // Warning: // Unchecked conversion. Found: ArrayList // Required: List assign1(new ArrayList()); assign2(new ArrayList()); assign3(new ArrayList()); // Both forms are acceptable as List: List wildList = new ArrayList(); wildList = new ArrayList(); assign1(wildList); assign2(wildList); assign3(wildList); } } ///:~