将类类型传递给方法

时间:2015-03-27 12:23:37

标签: java android parse-platform

在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);

1 个答案:

答案 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);