菱形运算符<>是否等于<?> - java

我在util.TreeSet类中发现,其中一个构造函数正在使用具有空泛型类型的新TreeMap调用另一个构造函数。

  public TreeSet(Comparator<? super E> comparator) {
         this(new TreeMap<>(comparator));
  }

new TreeMap<>是什么意思?相当于new TreeMap<?>吗?

参考方案

这是Java 7语法。菱形(<>)是让Java编译器用在本地上下文中有意义的任何东西填充通用参数(在本例中为? super E)的简便方法。

实例化类型<?>的泛型类 - java

我正在为SCJP / OCPJP学习,并且遇到了一个对我来说很奇怪的示例问题。该示例代码实例化了两个通用集合:List<?> list = new ArrayList<?>(); List<? extends Object> list2 = new ArrayList<? extends Object>(); …

为什么不能将Object类型的对象添加到List <?>中? - java

据我了解,List<?>是一些特定但未知类型的列表。因此,无论此List的参数类型是什么,都应该扩展Object,因为在Java中,不能有任何不扩展Object的类型。那么为什么下面的代码没有被编译呢?它如何违反listObj的不变式 List<?> listObj = returnSomeList(); listObj.add(ne…

如何使用Java流在第一个和最后一个嵌套对象之间创建map <k,v>? - java

假设我有以下课程:class A { int id; List<B> b; } class B { int id; } 我想在A.id到B.id的列表之间创建一个映射(Map<Integer, List<Integer>>,其中key = A.id,而List<Integer>对应于每个A的B.id字段的列表)…

Java中的<<或>>>是什么意思? - java

This question already has answers here: Closed 7 years ago. Possible Duplicate: What does >> and >>> mean in Java?我在一些Java代码中遇到了一些陌生的符号,尽管代码可以正确编译和运行,但对于括号在此代码中的作用却感…

休眠映射<键,设置<值>> - java

我有以下表格:@Entity @Table(name = "events") Event --id --name @Entity @Table(name = "state") State --id --name @Entity @Table(name = "action") Action --id …