This question already has answers here:
Definition of type variable and parameter
(2个答案)
已关闭8年。
从Angelika Langer's generic FAQ:
Eliding类型参数。
编辑:据我所知,在这种情况下,最左边的界限是字面意思,即在界限列表中最左边。我想了解为什么选择此政策?
编译器将类型参数
这就意味着,就像在安吉莉卡(Angelika)的例子中那样:
替换为:
(2个答案)
已关闭8年。
从Angelika Langer's generic FAQ:
Eliding类型参数。
编辑:据我所知,在这种情况下,最左边的界限是字面意思,即在界限列表中最左边。我想了解为什么选择此政策?
最佳答案
在这种情况下,“最左侧”不是技术术语。它的字面意思是“最左边”。它只是意味着,当type参数具有多个边界(限制)时,如下所示:
T extends Callable<Long> & Runnable
编译器将类型参数
T
的所有匹配项替换为最左侧的边界(在本例中为Callable<Long>
):这就意味着,就像在安吉莉卡(Angelika)的例子中那样:
private T task1, task2;
替换为:
private Callable task1, task2;
09-30 18:38