java通配符有哪些

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

publicvoidtestV(List<?>list){}

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

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

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

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

通配符的使用注意

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

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

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

本教程操作环境:windows7系统、java10版,DELL G3电脑。

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

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容