我想知道是否有可能有这样的事情:
public class foo<T...>
Run Code Online (Sandbox Code Playgroud)
所以你可以像上课那样打电话
Foo<Object0>
Foo<Object0, Object1>
Foo<Object0, Object1, Object2>
Run Code Online (Sandbox Code Playgroud)
使用Object 0,1和2两种不同的类型,如Integer,Float,String等.这是可能的,还是我必须为每种类型的泛型类型编写一个类?如果可以,我将如何处理不同的类型?
不,你不能拥有它.你能做的最好的就是public class Foo<T extends SomeClassOrInterface>.因此,在你的榜样Integer,并Float可以定义public class Foo<T extends Number>.
您还可以指定T必须实现多个接口.
语法public class Foo<T extends SomeInterface1 & SomeInterface2>有效,&有意义AND.
不幸的是,public class Foo<T extends SomeInterface1 | SomeInterface2>带有|意义的语法OR是不可能的.
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |