gpt4 book ai didi

java - 在 Java 中,我可以指定任意数量的泛型类型参数吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:19:31 26 4
gpt4 key购买 nike

我希望在 Java 中创建一种特定类型的接口(interface)(尽管这同样适用于常规类)。这个接口(interface)需要包含一些方法,比如说,invoke;根据提供的通用类型参数,它将使用不同数量的参数调用。

举个例子:

public interface Foo<T...> {
public void invoke(T... args);
}

// In some other class
public static Foo<Float, String, Integer> bar = new Foo<Float, String, Integer>() {
@Override
public void invoke(Float arg1, String arg2, Integer arg3) {
// Do whatever
}
};

为了简要说明如何使用 (并提供一些上下文),请考虑一个类 Delegator:该类采用不同数量的泛型类型,并且有一个方法 - invoke,具有这些参数类型。该方法将其参数传递给列表中的一个对象:IDelegate 的一个实例,它采用相同的泛型类型。这允许 Delegator 在多个委托(delegate)方法(在 IDelegate 中定义)之间进行选择,而不必为每个特定的参数类型列表创建一个新类。

有这样的东西吗?我读过 variadic templates在 C++ 中,但在 Java 中找不到类似的东西。有这样的东西吗?如果不是,模拟相同数据模型的最简洁方法是什么?

最佳答案

Is anything like this available? I have read about variadic templates in C++, but cannot find anything similar in Java. Is any such thing available?

不,此功能在 Java 中不可用。

关于java - 在 Java 中,我可以指定任意数量的泛型类型参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33569103/

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