Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用通配符将对象添加到常规列表_Java_Generics - Fatal编程技术网

Java 无法使用通配符将对象添加到常规列表

Java 无法使用通配符将对象添加到常规列表,java,generics,Java,Generics,为什么我不能在这里添加任何对象,我希望我可以在这样的列表中添加任何类型的对象 List<?> l = new ArrayList<Object>(); l.add(new Object()); l.add(new String("hello")); listl=newarraylist(); l、 添加(新对象()); l、 添加(新字符串(“hello”); 为什么不: List<Object> l = new ArrayList<>(

为什么我不能在这里添加任何对象,我希望我可以在这样的列表中添加任何类型的对象

List<?> l = new ArrayList<Object>();
l.add(new Object());
l.add(new String("hello"));
listl=newarraylist();
l、 添加(新对象());
l、 添加(新字符串(“hello”);
为什么不:

    List<Object> l = new ArrayList<>();
    l.add(new Object());
    l.add(new String("hello"));
listl=newarraylist();
l、 添加(新对象());
l、 添加(新字符串(“hello”);

?表示某种未知类型。我们分配的任何参数都必须是此未知类型的子类型。因为我们不知道那是什么类型,所以我们不能传递任何信息。所以按照规则,对象应该是的子类型?编译器不知道这个未知类型(?)是什么。唯一的异常是null,它是每种类型的成员。