相关疑难解决方法(0)

什么是多级外卡?语法混乱

我正在阅读AngelikaLangerGenericsFaq的多级外卡.我对语法很困惑.该文件说

该类型Collection<Pair<String,?>>是泛型Collection接口的具体实例.它是不同类型对的异构集合.它可以包含类型的元素 Pair<String,Long>,Pair<String,Date>,Pair<String,Object>, Pair<String,String>,等等等等.换句话说, Collection<Pair<String,?>>包含不同类型的形式的混合对Pair<String,?>.

类型 Collection<? extends Pair<String,?>>是通配符参数化类型; 它不代表具体的参数化类型.它代表集合系列中的代表,它是Collection接口的实例化,其中type参数是表单的形式Pair<String,?>.兼容的实例是Collection<Pair<String,Long>>,Collection<Pair<String,String>>, Collection<Pair<String,Object>>,或Collection<Pair<String,?>>.换句话说,我们不知道它所代表的Collection的实例.

根据经验,您必须从上到下阅读多级通配符.

我对以下几点感到困惑.

  1. 有人可以用例子详细说明这三个引号.我完全迷失在语法中
  2. 文件说,para-1是泛型类型的具体实例,而其他不是具体的实例化?那个怎么样?
  3. 自上而下阅读外卡是什么意思?
  4. 多级外卡有什么优势?

有人可以详细说明这些要点.谢谢.

java generics wildcard

5
推荐指数
1
解决办法
278
查看次数

标签 统计

generics ×1

java ×1

wildcard ×1