开发手册 欢迎您!
软件开发者资料库

Java泛型 - Upper Bounded Wildcards

Java泛型Upper Bounded Wildcards - 从基本到高级概念的简单简单步骤学习Java泛型,其中包括概述,环境设置,通用类,类型参数命名约定,类型推断,多类型参数,参数化类型,原始类型,通用方法,有界类型参数,多个边界,内建类,通用列表,通用集,通用映射,通配符,上限有界通配符,无界通配符,下限有界通配符,通配​​符使用指南,类型擦除,通用类型擦除,通用擦除方法,泛型限制,无原始类型,无实例,无静态字段,无转换,无instanceOf,无数组,无异常,无过载。

问号(?)代表通配符,代表泛型中的未知类型.有时您可能希望限制允许传递给类型参数的类型.例如,对数字进行操作的方法可能只想接受Number或其子类的实例.

要声明上限的Wildcard参数,请列出?,后跟extends关键字,接着是它的上限.

示例

以下示例说明了如何使用extends来指定上限通配符.

import java.util.Arrays;import java.util.List;public class GenericsTester {   public static double sum(List numberlist) {      double sum = 0.0;      for (Number n : numberlist) sum += n.doubleValue();      return sum;   }   public static void main(String args[]) {      List integerList = Arrays.asList(1, 2, 3);      System.out.println("sum = " + sum(integerList));      List doubleList = Arrays.asList(1.2, 2.3, 3.5);      System.out.println("sum = " + sum(doubleList));   }}

这将产生以下结果 :

输出

sum = 6.0sum = 7.0