[英]Java Convert List of Object Class to String[]
我有一個名為RoomClassRes的類,它具有getter&setter id,名稱等,在主類中,我聲明String [] = {}。
有了這段代碼,我使用了兩個變量
List<RoomClassRes> roomClassRes
和String[] roomClassList
我想用List<RoomClassRes>
所有name
填充String[]
這對我不起作用
@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++;
}
}
什么都沒有。
使用RoomClassRes
。在這里,您可以使用流API,首先獲取RoomClassRes
的流,然后將每個房間映射到其名稱,然后轉換為數組。
public String[] toStringArray(List<RoomClassRes> rooms) {
return rooms.stream()
.map(RoomClassRes::getName)
.toArray(String[]::new);
}
使用Java7。首先創建具有列表大小的數組,然后填充數組並返回。
public String[] toStringArray(List<RoomClassRes> rooms) {
String[] result = new String[rooms.size()];
for (int index = 0; index < rooms.size(); index++)
result[index] = rooms.get(index).getName();
return result;
}
請注意,您不能像String[] result = {}
那樣聲明數組,因為那樣會創建一個空數組,您可以像上面的函數中那樣提供新的數組大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.