【发布时间】:2018-06-05 14:30:16
【问题描述】:
我在 Spring Batch StepBuilder 类中看到了以下方法定义。这里第一个尖括号有什么用?
public <I, O> SimpleStepBuilder<I, O> chunk(int chunkSize) {
return (new SimpleStepBuilder(this)).chunk(chunkSize);
}
【问题讨论】:
-
它定义了该方法本地的泛型类型
I和O。 -
它定义了
I和O类型,在你的情况下,它们随后用于你的返回类型SimpleStepBuilder<I, O>。这意味着当您通过以下方式调用您的块方法时说:yourObject.<Cat, Dog>.chunk(0),您将收到由Cat和Dog类型参数化的SimpleStepBuilder实例,即SimpleStepBuilder<Cat, Dog> -
顺便提一下:
O不是(类型)变量的好名字。它在某些字体中看起来很像0。