在 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);
最佳答案
看起来你在寻找类似的东西
public <T> void fetchObjectList(Class<T> classType, FindCallback<T> callback) {
ParseQuery<T> query = ParseQuery.getQuery(classType);
query.findInBackground(callback);
}
In Java, how can you pass the Type of a class as a parameter of a method ?
要将类的类型作为参数传递,您可以这样做
fetchObjectList(String.class, someCallback);
或者,如果您不知道静态类型,您可以这样做
fetchObjectList(someObj.getClass(), someCallback);
关于java - 将类类型传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29300594/