java通过类<?将T>扩展为参数
这是一些代码,我希望能让你理解我想要什么。这当然行不通
public static <T> void foo(Class<? extends T> type, AsyncCallback<T> callback){
/*do something */
}
public void MyMethod() {
Class a;
if (isSomething()) {
a = "some class";
} else if (isSomething2()){
a = "some other class";
}
/* probably more of this or even a switch*/
useFoo(a);
}
public void useFoo(Class a){
foo(a.class, AsyncCallback<a> {
/* some callback */
});
}
方法foo已经存在,我需要从MyMethod动态使用它。目前,MyMethod中每个不同的if语句都有一个useFoo。我只想有一个useFoo,它将被调用一些参数。原因是回调是一段很长的代码,需要在该方法的每次调用中重复。我如何在不改变foo方法的情况下实现这一点?我希望你能理解我的问题。谢谢
# 1 楼答案
剩下的代码与上面相同,您可以将
useFoo
方法编写为: