java - 将类类型传递给方法

标签 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);

最佳答案

看起来你在寻找类似的东西

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/

相关文章:

java - 为什么我的数据库Adapter类更新方法返回0?

java - 确定数字中的数字的基本程序不适用于更大的数字?

java - 为什么我的正则表达式在 android 的短信接收器上没有被正确解析?

Android:多图像密度支持 - 缩放高度宽度和 dpi?

swift - 找不到“Parse/ParseClientConfiguration.h”文件

java - 无法查找 JNDI 名称 [javax.transaction.TransactionManager]

java - 如何在回收 View 中隐藏部分字符串?

java - 铃声播放时间过长

ios - swift/parse getObjectInBackgroundWithId 查询不起作用

android - parse.com 数据存储未固定多个未保存的对象