泛型类使用通配符,其泛型也是泛型类

问题描述 投票:0回答:1

假设我有一个泛型类,它的泛型仍然是一个泛型类,就像

List<ConsumerRecord<String, SpecificRecord>>
List<ConsumerRecord<String, Object>>

我需要编写一个方法签名来接受两者,而不需要二级泛型。

对于一级泛型,

List<? extends T>
,T 是对象,所以
List<?>
就可以了。

但是有两个级别,

List<ConsumerRecord<?, ?>>
无法编译。

我的简单解决方案是通用方法,但是有没有更干净的方法来做到这一点?

protected <T> String printOffsetsForMessages(List<ConsumerRecord<String, T>> records)
java generics
1个回答
0
投票

您需要另一个级别的扩展:

List<? extends ConsumerRecord<?, ?>>
© www.soinside.com 2019 - 2024. All rights reserved.