我应该如何为具有多个边界的Java泛型进行强制转换?
2022-09-02 05:26:57
是否可以将 Java 中的对象强制转换为组合的泛型类型?
我有一个这样的方法:
public static <T extends Foo & Bar> void doSomething(T object) {
//do stuff
}
如果我有一个实现两个接口的类(Foo & Bar),调用此方法没有问题。
问题是,当我需要调用此方法时,我需要传递给它的对象被接收为并且我需要强制转换它以使编译器满意。但是我不知道如何制作这个演员阵容。java.lang.Object
编辑:
问题在于这样的函数:
public void problemFunction (Object o) {
if ( o instanceof Foo && o instanceof Bar) {
doSomething((Problematic cast) o);
}
}
}