您可以使用 Java 中的绑定来限制类型参数。例如:
interface Foo<T extends Bar> {
// ...
}
Run Code Online (Sandbox Code Playgroud)
您可以使用多种类型进行绑定,包括接口、类、参数化类型和类型参数。换句话说:Bar可以是接口、类等(不能是基元或数组类型)。
您还可以使用final类enum和record类型作为边界。所以当Bar是一个final类enum或时,上面的方法仍然有效record。
但是enumandrecord类型是隐式的final- 不可能创建enumor的子类型record。这意味着当您使用enumorrecord作为类型参数绑定时,填充类型参数的唯一可能性是使用该特定enum或record类型本身作为类型参数。课程也是如此final。
Foo<T>如果 ifT不能是它自身以外的任何东西,那是没有意义的Bar。在这种情况下,您也可以完全省略类型参数Foo并直接使用Bar。
在某些情况下,您可以使用final类enum或record类型作为类型参数绑定吗?
| 归档时间: |
|
| 查看次数: |
172 次 |
| 最近记录: |