gpt4 book ai didi

java - 可以是 N 个接口(interface)的实现的方法参数

转载 作者:行者123 更新时间:2023-11-29 08:40:48 25 4
gpt4 key购买 nike

在 Java 中有没有一种方法可以使用泛型来指定实现接口(interface) A 或 B 的方法参数?

public void foo(Object bar) // bar could either be an implementation of interface A or interface B but nothing else.

private interface A<T>
{
Object work(final Fizz fizz, final T t);
}

private interface B
{
Object work(final Fizz fizz);
}

最佳答案

一般意义上没有真正的解决方案,但对于您的特定示例,您可以尝试类似的方法:

public <T> void foo(A<T> bar) {
// ...
}

private interface A<T> {
Object work(final Fizz fizz, final T t);
}

private interface B extends A<Void> {

default Object work(final Fizz fizz) {
return work(fizz, null);
}

Object work(final Fizz fizz, final Void ignoreMe);
}

关于java - 可以是 N 个接口(interface)的实现的方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40371667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com