更多追问追答
追问
我是个新手,能否把代码写一下~谢了!
追答
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还是标红了
追答
那你把set改为add试试,这个方法直接把对象放进去就可以,只要你类型一致应该不会报什么错。
追问
还是红的。statusWapper.getStatuses()的类型还是不对,定义getStatuses()的类型是下面这个:
public List getStatuses()
这我应该怎么办?
追答
List> status=new ArrayList>();
改一下泛型就OK!
追问
status = status.set(y, statusWapper.getStatuses());
...还是不对,List> status=new ArrayList>();好像不行
追答
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 出错了。
追答
汗!你再改一下返回类型啊
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;
}
}