【发布时间】:2018-03-11 01:32:32
【问题描述】:
我有一个名为 RoomClassRes 的类,它有 getter&setter id、name 等,在我的主类中我声明了 String[] = {}。
在这段代码中,我使用了两个变量
List<RoomClassRes> roomClassRes 和 String[] roomClassList
我想在List<RoomClassRes> 填写String[] 的所有name
这对我不起作用
@Override
public void onResponse(Call<List<RoomClassRes>> call, Response<List<RoomClassRes>> response) {
List<RoomClassRes> roomClassRes = response.body();
// 1
Object[] roomClassObj = roomClassRes.toArray();
for (int i = 0; i < roomClassObj.length; i++){
RoomClassRes roomClass = (RoomClassRes)roomClassObj[i];
roomClassList[i] = roomClass.getName();
}
// 2
int i = 0;
for(RoomClassRes rc : roomClassRes){
roomClassList[i] = rc.getName();
i++;
}
}
没有任何作用。
【问题讨论】:
-
roomClassList在哪里定义?您的第二种方法应该适用于 AFAIK。 -
String[] roomClassList = roomClassRes.stream().map(RoomClassRes::getName).toArray(String[]::new); -
在同一个班级,
public class blablabla { String[] roomClassList = {} ... }下 -
@RoyHabeahan 然后定义“这对我不起作用”。
-
@Aominè 不起作用在源 1.7 中不受支持
标签: java arrays list object retrofit2