我在Java中遇到过与此类似的代码段
public <H extends ABC<I, U>, I, U> Set<U> get(Type<H, I, U> type) {
}
我不明白这一点。
我只知道它需要参数化类型Type<H,I,U>
的参数,并返回Set<U>
这是返回类型。
但是,我不明白这一部分:
<H extends ABC<I,U>, I,U>
有人可以澄清吗?
此致 阿赫亚
答案 0 :(得分:5)
这意味着
H
,I
和U
I
和U
可以是任何H
必须延长ABC<I, U>
(或者它实际上可以 ABC<I, U>
)所以假设你有一个类型ABC
,它有两个类型参数。这就是说,例如,这是有效的:
Type<ABC<String, Date>, String, Date> type = new Type<>();
Set<String> set = instance.get(type);
...因为H
为ABC<String, Date>
,I
为String
,U
为Date
。