在Java中,如何将类的类型作为方法的参数传递?
我给出的示例是使用Parse.com Android SDK的基本查询
今天我需要这样做:
//-- This will fetch the car objects
ParseQuery<CarItem> query = ParseQuery.getQuery(CarItem.class);
query.findInBackground( (FindCallback<CarItem>) callback)
//-- This will fetch the trucks objects
ParseQuery<TruckItem> query = ParseQuery.getQuery(TruckItem.class);
query.findInBackground( (FindCallback<TruckItem>) callback)
我希望能够有一个方法fetchObjectList()
,它将我想要获取的对象类型作为参数,并调用正确的callback
函数。
public void fetchObjectList( ... classType, ... callback) {
ParseQuery<classType> query = ParseQuery.getQuery(classType.class);
query.findInBackground( (FindCallback<classType>) callback);
}
最后我希望能够做到这一点:
fetchObjectList(CarItem, callback1);
fetchObjectList(TruckItem, callback2);
答案 0 :(得分:1)
看起来像是
之类的东西public <T> void fetchObjectList(Class<T> classType, FindCallback<T> callback) {
ParseQuery<T> query = ParseQuery.getQuery(classType);
query.findInBackground(callback);
}
在Java中,如何将类的类型作为方法的参数传递?
要将类的类型作为参数传递,您可以执行
fetchObjectList(String.class, someCallback);
或者,如果你不是静态地知道类型,你可以做
fetchObjectList(someObj.getClass(), someCallback);