广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java泛型约束之上限通配符_北大青鸟IT学校

作者:邓华发布时间:2021-04-01分类:Java技术浏览:1008


导读:上一篇文章惠州北大青鸟学术部老师给大家分享了Java泛型约束中的无效通配符,下面老师给大家讲讲Java泛型约束中的上限通配符,希望大家能从中获益。

上一篇文章惠州北大青鸟学术部老师给大家分享了Java泛型约束中的无效通配符,下面老师给大家讲讲Java泛型约束中的上限通配符,希望大家能从中获益。

我们表示通配符的上限

<? extends T>

这里,T是一种类型。<? extends T>表示任何类型为T或其子类是可接受的。

例如,上限可以是数字类型。

如果我们通过任何其他类型,该类型是数字类型的子类,很好。但是,不是Number类型或其子类型的任何东西都应该在编译时被拒绝。


使用上限作为数字,我们可以将方法定义为

class MyBag<T> {  private T ref;  public MyBag(T ref) {
   this.ref = ref;
 }  public T get() {    return ref;
 }  public void set(T a) {
   this.ref = a;
 }
}public class Main {  public static double sum(MyBag<? extends Number> n1,
     MyBag<? extends Number> n2) {
   Number num1 = n1.get();
   Number num2 = n2.get();    double sum = num1.doubleValue() + num2.doubleValue();    return sum;
 }

}

不管你为n1和n2传递什么,它们将始终与Number的赋值兼容,因为编译器确保传递给sum()方法的参数遵循其声明中指定的规则 <? extends Number>。

想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区了解一下。

Java16.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表