下面这段代码错在哪里呢?
其中Child是Parent的子类。
public static void main(String[] args) { Child child = new Child(); List<Child> childList = new ArrayList<Child>(); childList.add(child); testList(childList); Map<String, Child> childMap = new HashMap<String, Child>(); testMap(childMap); } private static void testList(List<? extends Parent> parent) { Child child3 = new Child(); parent.add(child3); } private static void testMap(Map<String, ? extends Parent> parent) { Child child2 = new Child(); parent.put("test", child2); }
这个方法只是你知道他是child,但是代码匹配的时候只会认为他是parent的子类,并不知道他是child3这个类,所以add的时候就报错了