gpt4 book ai didi

java - 在 Java 中使用带有接口(interface)的原始类型

转载 作者:行者123 更新时间:2023-12-01 23:12:58 25 4
gpt4 key购买 nike

我正在尝试查找有关原始类型的信息,是否可以按照以下方式与接口(interface)一起使用:

public class GlobalConverter {

public interface Listener {
void onReady(Object t);
}

public void convert(String string, Class<?> resultClass, Listener listener) {
try {
listener.onReady(resultClass.newInstance());
} catch (IllegalAccessException e) {
} catch (InstantiationException e) {
}
}

public void test() {
convert("Test", MyClass.class, new Listener() {

@Override
public void onReady(Object object /* Possible to be MyClass object ? */) {
}
});
}
}

我想要实现的目标与上面类似,但对于最终用户来说,onReady 回调将返回 resultClass 类型的对象。任何提示/解释都非常感谢。

谢谢。

最佳答案

我将使Listener本身变得通用:

public interface Listener<T> {
void onReady(T t);
}

然后 convert 方法也应该是通用的:

public <T> void convert(String string, Class<T> resultClass, Listener<T> listener) {
try {
listener.onReady(resultClass.newInstance());
} catch (IllegalAccessException e) {
} catch (InstantiationException e) {
}
}

并称其为:

convert("Test", MyClass.class, new Listener<MyClass>() {
@Override
public void onReady(MyClass object) {
}
});

关于java - 在 Java 中使用带有接口(interface)的原始类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21595633/

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