首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 泛型〈? extends T 〉和 〈? super T

但实际上Java编译器不允许这个操作。会报错,“装苹果的盘子”无法转换成“装水果的盘子”。 ?...extends T>和的办法,来让”水果盘子“和”苹果盘子“之间发生正当关系。 二、上界 下面就是上界通配符(Upper Bounds Wildcards) ?...四、上下界通配符的副作用 边界让Java不同泛型之间的转换更容易了。但不要忘记,这样的转换也有一定的副作用。那就是容器的部分功能可能失效。 还是以刚才的Plate为例。...extends T>不能往里存,只能往外取 和类型参数的区别就在于,对编译器来说所有的T都代表同一种类型。 比如下面这个泛型方法里,三个T都指代同一个类型,要么都是String,要么都是Integer... ? 但通配符<?

1.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

Java NIO 系列(

Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。...Java NIO: Non-blocking IO(非阻塞IO) Java NIO可以让你非阻塞的使用IO,例如:当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。...Java NIO: Selectors(选择器) Java NIO引入了选择器的概念,选择器用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个的线程可以监听多个数据通道。...Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector...Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。

54410
领券