Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.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_Types - Fatal编程技术网

Java 确保输入参数满足多个类型标准

Java 确保输入参数满足多个类型标准,java,generics,types,Java,Generics,Types,我有两个接口,A和B。我正在编写一个函数,我希望它只接收使用这两个接口的对象。这是我一直在尝试的一些事情。我希望我的问题是清楚的 public void function((? implements A,B) thing) { // do things } public <T extends A, T extends B> void function(T thing) { // do things } pub

我有两个接口,A和B。我正在编写一个函数,我希望它只接收使用这两个接口的对象。这是我一直在尝试的一些事情。我希望我的问题是清楚的

    public void function((? implements A,B) thing) {
        // do things
    }

    public <T extends A, T extends B> void function(T thing) {
        // do things
    }

    public <T extends A,B> void function(T thing) {
        // do things
    }
public void函数((?实现A,B)东西){
//做事
}
公共虚函数(T物){
//做事
}
公共虚函数(T物){
//做事
}

但这些尝试都没有奏效。提前感谢您对此的了解。

您可以尝试创建一个扩展自
a
B
的第三个接口,并将其用作您的方法标记

public interface C extends A, B {
}
那么你只需要担心
C

public <T extends C> void function(T thing) {
    // do things
}

无法传递到
函数
MyAB
必须实现
C

它们中的任何一个有效吗?否:(,我不确定这是否可能。尝试创建一个从a和BIf扩展的第三个接口。如果他们这样做了,您将使用哪种类型来调用方法?MadProgrammer的建议是正确的。Doh,我不知道为什么我没有看到。谢谢大家,我想@MadProgrammer,如果您键入一个简短的答案,我会接受。谢谢大家。
public class MyAB implements A, B {
}