java方法参数泛型_Java泛型方法类型参数

我对泛型方法的显式类型参数有问题.我知道我可以这样做:

Foo.function();

假设有一个

void function() {...}

在Foo类中的函数.确切的问题是:

>我想下载一些内容(Android版附Ion)

>这些内容类似(文章,BlogArticle,…),都实现了ContentItem接口

>目前下载如下:

例如新闻

private void downloadNews() {

Ion.with(this)

.load(URL_NEWS)

.as(new TypeToken>(){})

.setCallback(new FutureCallback>() {

@Override

public void onCompleted(Exception e, List result) {

// do something with result

}

});

}

如果我想下载博客文章,我必须更改网址和文章类(对于BlogArticle).

我试图制作这样的通用函数:

private void download(String url) {

Ion.with(this)

.load(url)

.as(new TypeToken>(){})

.setCallback(new FutureCallback>() {

@Override

public void onCompleted(Exception e, List result) {

// do something with result

}

});

}

并调用该函数

this.download(url);

没关系,编译好.跑完后我得到了

java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to com.my.packagename.model.ContentItem

问题是它没有使用显式类将Json映射到pojo.

你能建议我一个通用的解决方案吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值