gpt4 book ai didi

java - 根据通用类型创建对象

转载 作者:行者123 更新时间:2023-11-30 06:10:11 25 4
gpt4 key购买 nike

我有以下通用接口(interface):

public interface I<T> {
void method(T key);
}

它由两个不同的类(A y B)实现。

public class A implements I<Integer> {
@Override
void method(Integer key) {
//do smth
}

public class B implements I<String> {
@Override
void method(String key) {
//do smth
}

此外,还有一个 Java 类 MyClass,其中根据 T 参数创建 A 或 B 的新实例。

public class MyClass<T> {
public void f() {
I<T> object = //here is the problem
}
}

我的问题如下:

是否可以不通过T类的对象来实现?

最佳答案

通过供应商。

class MyClass<T> {
public void f(Supplier<I<T>> supplier) {
I<T> object = supplier.get();
}
}

new MyClass<String>().f(B::new);
new MyClass<Integer>().f(A::new);

关于java - 根据通用类型创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50418817/

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