Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以使泛型方法签名实现泛型+;接口?_Java_Generics - Fatal编程技术网

Java 是否可以使泛型方法签名实现泛型+;接口?

Java 是否可以使泛型方法签名实现泛型+;接口?,java,generics,Java,Generics,可以在Java1.7中使用类似的泛型吗 class Test<T> { public <Z extends T & Serializable> void method(Z test) { ... } } 类测试{ 公共空隙法(Z试验){ ... } } 我希望我的方法只接受实现特定接口的泛型类型的对象。否,不幸的是,不能将泛型扩展与泛型类型和接口一起使用。事实上,甚至不可能对多个类型使用泛型扩展。如果可以,那么你可以做如下的事情

可以在Java1.7中使用类似的泛型吗

class Test<T> {
    public <Z extends T & Serializable> void method(Z test) {
       ...
    }
}
类测试{
公共空隙法(Z试验){
...
}
}

我希望我的方法只接受实现特定接口的泛型类型的对象。

否,不幸的是,不能将泛型
扩展
与泛型类型和接口一起使用。事实上,甚至不可能对多个类型使用泛型
扩展。如果可以,那么你可以做如下的事情

class Test<T, B extends Serializable> {

    public <Z extends T & B> void method(Z test) {
        ...
    }
}
类测试{
公共空隙法(Z试验){
...
}
}

这种对扩展多个类型的限制可能是由于。在运行时,泛型被删除,
public
简单地变成
public Serializable
。那么什么将被替换为?

最近似的形式是:

class Test<T extends Serializable>
{
    public <Z extends T> void method(Z test)
    {

    }
}
类测试
{
公共空隙法(Z试验)
{
}
}

No
在类型边界中实现
。它总是
extends
我知道,我用extends编写代码,只是做了一个错误的例子。不是这样的,类generic不能使用这个接口,它应该只针对方法。