java list 循环取值_JAVA怎样提取循环之中的list

更多追问追答

追问

我是个新手,能否把代码写一下~谢了!

追答

public List userTimeline(String uid) throws WeiboException {

Timeline timeline=new Timeline();

timeline.setToken(WipConstants.TOKEN);

List status=new ArrayList();

try{

long i = 0l;

long j = 0l;

int y = 1;

do{

Paging p = new Paging();

p.setPage(1);

p.setCount(100);

StatusWapper statusWapper=timeline.getUserTimelineByUid(uid, p, 0, 0);

i = statusWapper.getTotalNumber();

j = j+100;

y++;

status=statusWapper.getStatuses();

}

while(j

}

catch (WeiboException e) {

e.printStackTrace();

return status;

}

}

还有请问你是只需要一个statusWapper.getStatuses();还是要每次循环的statusWapper.getStatuses();如果你是要每次循环的statusWapper.getStatuses();。

那么请将status=statusWapper.getStatuses();改为status.set(statusWapper.getStatuses());

追问

应该是你说的第二个,这个是新浪微博的API取用户发布微博,现在一页最多就只能取100个,所以我才想用个循环。要是用你说的第一个的话,那循环第二次的时候就会把第一次循环取出来的list覆盖掉。不过要是改为status.set(statusWapper.getStatuses());之后,set标红了。

自动提示status = status.set(index, element);

追答

抱歉写错set方法了,习惯了直接set了。

改成status.set(y,statusWapper.getStatuses());即可,因为list集合需要给下标位置。

追问

。。。set还是标红了

91f80fdcfa778bbaa8485b37eb206185.png

3a1c73a622b9fb1ce410ce1b9ba4cd01.png

追答

那你把set改为add试试,这个方法直接把对象放进去就可以,只要你类型一致应该不会报什么错。

追问

还是红的。statusWapper.getStatuses()的类型还是不对,定义getStatuses()的类型是下面这个:

public List getStatuses()

这我应该怎么办?

追答

List> status=new ArrayList>();

改一下泛型就OK!

追问

status = status.set(y, statusWapper.getStatuses());

...还是不对,List> status=new ArrayList>();好像不行

f63d28d2c9fe880582baf931331922b0.png

cd9bd67b713fcbb0414c9f1eebb0fc9f.png

追答

List> b=new ArrayList>();我怎么可以?

连同代码一起接过来看看。

追问

这个类的所有代码就是贴的这些了,那个Status和statusWapper都是新浪微博API给的,那些应该不用改。

追答

你改的位置对不对啊?

public List userTimeline(String uid) throws WeiboException {

Timeline timeline=new Timeline();

timeline.setToken(WipConstants.TOKEN);

List> status=new ArrayList>();

try{

long i = 0l;

long j = 0l;

int y = 1;

do{

Paging p = new Paging();

p.setPage(1);

p.setCount(100);

StatusWapper statusWapper=timeline.getUserTimelineByUid(uid, p, 0, 0);

i = statusWapper.getTotalNumber();

j = j+100;

y++;

status.add(statusWapper.getStatuses());

}

while(j

}

catch (WeiboException e) {

e.printStackTrace();

return status;

}

}

我是说你该这句话的位置好报错信息,

你也可以试一下不用泛型。

直接List status=new ArrayList();

追问

不用泛型的话不对。

要是按照你贴的那程序写的话,其他没有错,可return status;返回值 status 出错了。

72c9f77e768d8367c4a33d92320680ab.png

f1ee79999c6a8a143fd0788f929898ab.png

追答

汗!你再改一下返回类型啊

public List> userTimeline(String uid) throws WeiboException {

Timeline timeline=new Timeline();

timeline.setToken(WipConstants.TOKEN);

List> status=new ArrayList>();

try{

long i = 0l;

long j = 0l;

int y = 1;

do{

Paging p = new Paging();

p.setPage(1);

p.setCount(100);

StatusWapper statusWapper=timeline.getUserTimelineByUid(uid, p, 0, 0);

i = statusWapper.getTotalNumber();

j = j+100;

y++;

status.add(statusWapper.getStatuses());

}

while(j

}

catch (WeiboException e) {

e.printStackTrace();

return status;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值