首页 > 编程语言 >Java基础-泛型-0.0.1 通配符<?>以及PECS

Java基础-泛型-0.0.1 通配符<?>以及PECS

时间:2022-09-03 16:49:33浏览次数:62  
标签:execute PECS Java 0.0 SomeAbstractClass 通配符 泛型 new

通配符<?>

个人理解,<?>可用于需要泛型,但又不访问泛型对象的场景:

业务中遇到这种场景:如声明一个方法,用于处理对不同泛型类某些属性的修改,而目标属性不涉及泛型类操作,只是为了传入该泛型对象,此时入参我选择使用泛型<?>:
声明

public void execute(SomeAbstractClass<?>)

其中并没有对?所代表的对象进行任何操作,而是用到了SomeAbstractClass的公共方法

使用

SomeAbstractClass<Generic1> class1 = new SomeAbstractClass<>(generic1Obj)  
SomeAbstractClass<Generic2> class2 = new SomeAbstractClass<>(generic1Ob2)  
execute(class1)  
execute(class2)  

上界限定通配符<? extends T>

对应生产者

Generic<? extends T> producer

常用于

T obj = producer.get()

下界限定通配符<? super T>

对应消费者

Generic<? super T> consumer

常用于

T newObj = new T()
consumer.addObj(newObj)

标签:execute,PECS,Java,0.0,SomeAbstractClass,通配符,泛型,new
From: https://www.cnblogs.com/Julymay/p/16652936.html

相关文章

  • 接上篇基础和java编程基础
    接上篇基础和java编程基础接上篇基础认识path和classpath:path是为了方便执行文件路径下的命令;classpath是类路径,在于告诉Java执行环境,在哪些目录下可以找到您所要执......
  • linux下Java上传解析excel报错java.io.FileNotFoundException:xxx.xls(No such file o
    原文链接:linux下Java上传解析excel报错java.io.FileNotFoundException:xxx.xls(Nosuchfileordirectory)–每天进步一点点(longkui.site)0.背景一个简单的上传并解......
  • JavaScript的变量命名规则和关键字的介绍
    JavaScript的变量命名规则和关键字的介绍规则一:开头必须是字母或$或_规则二:关键字和保留字不能用做变量名那么能不能使用typeof做为变量名呢?想都别想!那么能不能......
  • java 用反射获取自定义注解的信息实例
    最近看了些spring的源码,回来重新看一下反射和注解的一些文档,写了一个小例子,记录一下。packagecom.wbk.annotation;importjava.lang.annotation.*;importjava.lang.refle......
  • 力扣20(java)-有效的括号(简单)
    题目:给定一个只包括'(',')','{','}','[',']' 的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括......
  • java学习9.3-重写
    1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作2.应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写......
  • 用文本文档写第一个java程序并用命令行运行
    新建一个文本文档,后缀是java  编辑以下代码:classHellochina{publicstaticvoidmain(String[]args){System.out.println("hello");}......
  • [javascript] 构造函数与原型对象 +原型链
    构造函数与原型对象1、使用工厂方法创建对象functioncreatePerson(name,age,gender){//创建一个新的对象varobj=newObject();//向对象中添加属性......
  • Java 使用flink读写kafka中的数据(windows下)
    一、启动服务(网上查)1、启动zookeeper2、启动kafka3、启动flink二、写producerpublicvoidkafkaProducer(List<ResultBean>opcValue)throwsException{......
  • [javascript] 自调用函数
    自调用函数(IIFE)作用1.隐藏实现2.利用局部作用域,避免污染全局命名空间3.用它编写js模块(function(){vara=3;console.log(a+3);})();......