在Java中,逗号和&符号在声明乘法有界类型时都有效吗?
class MyClass <T extends OtherInterface, SomeInterface>
class MyOtherClass <T extends OtherInterface & SomeInterface>
Run Code Online (Sandbox Code Playgroud)
ajb*_*ajb 50
正如其他人指出的那样:
class MyOtherClass <T extends OtherInterface & SomeInterface>
Run Code Online (Sandbox Code Playgroud)
定义了一个乘法有界类型参数.如果你使用MyOtherClass
,你必须给它一个实现两者OtherInterface
和SomeInterface
.
但是,这并不能定义一个乘法界类型参数:
class MyClass <T extends OtherInterface, SomeInterface>
Run Code Online (Sandbox Code Playgroud)
它定义了一个带有两个类型参数的泛型.第一个必须实施OtherInterface
.第二个可以是任何东西.它和...一样
class MyClass <T extends OtherInterface, U>
Run Code Online (Sandbox Code Playgroud)
除了你命名它SomeInterface
而不是U
.(惯例是类型参数通常是单个大写字母,或者有时是大写字母和数字或短大写标识符.但编译器并不关心.它不会查看形式标识符,以确定你真的把它当作一个接口.)
归档时间: |
|
查看次数: |
4869 次 |
最近记录: |