// generics/UnboundedWildcards1.java // ©2016 MindView LLC: see Copyright.txt // We make no guarantees that this code is fit for any purpose. // Visit http://mindviewinc.com/Books/OnJava/ for more book information. 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); } } /* Output: (None) */