4

我有几个类(扩展 AsyncTaskLoader),它们基本上都做同样的事情:进行 REST 调用并从 Gson 的响应中创建 POJO。现在我认为只有一个类(让它接受一些参数)并告诉它我希望返回什么样的对象会更优雅。作为参数,我将给出我希望返回的 POJO 的类,因为它在 Gson 反序列化中使用,例如

Imprint impr = gson.fromJson(responseString, Imprint.class);

类/方法的返回类型是什么?我想过让它返回java.lang.Object,然后将其向下转换为我期望的 POJO 类型对象,但是有更好的可能性吗?

4

2 回答 2

6

使用泛型。一个示例方法签名可能看起来像

public <T> T callService(String parameters, Class<T> clazz)
于 2013-06-07T09:05:05.540 回答
-1

您可以使用 uwe 解决方案,或者只返回泛型类(此处为 asynctask),然后进行强制转换,甚至返回对象,然后进行强制转换(更危险)

于 2013-06-07T09:09:24.990 回答