品易云推流 关闭
文章 > java基础 > java通配符有哪些

java通配符有哪些

头像

小妮浅浅

2021-04-13 16:02:05555浏览 · 0收藏 · 0评论

1、无限通配符

代表未知类型,代表不关心或无法确定实际操作的类型,一般与容器类配合使用。

public void testV(List<?> list) {}

2、<? extends T>

定义上限,期间只有阅读能力。这种方法表明参数化的类型可能是指定的类型或子类型。

//t1要么是Test2,要么是Test2的子类
public void testC(Test1<? extends Test2> t1) {
    Test2 value = t1.getValue();
    System.out.println("testC中的:" + value.getT());
}

3、<? super T>

下限定义,有阅读能力和部分写作能力,子类可以写入父类。这种方法表明参数化的类型可以是指定的类型,也可以是父类。

//t1要么是Test5,要么是Test5的父类
public void testB(Test1<? super Test5> t1) {
    //子类代替父类
    Test2 value = (Test2) t1.getValue();
    System.out.println(value.getT());
}

4、通配符的使用注意

通配符的形式和类型参数经常一起使用。

类型参数的形式可以取代通配符。

能够使用通配符的人使用通配符,因为通配符在形式上往往更简单,可读性更好。

如果类型参数之间有依赖关系,返回值依赖类型参数,或者需要写作,则只能使用类型参数。

以上就是java通配符的介绍,希望对大家有所帮助。更多Java学习指路:Java基础

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮