我正在开发一个java代码,它将检索位于类别中的所有类别和相应的媒体。我正确地将所有类别列为正确列表,但不是内部的媒体。媒体总数为600+。单独打印正确的计数。但最终它只返回226.请帮助我解决这个问题。提前谢谢。
private static List<KalturaCategoryEntry> getCategoryMedia(
List<KalturaCategory> openCategoryList) throws KalturaApiException,
ParseException {
List<KalturaCategoryEntry> categoryEntries = new ArrayList<KalturaCategoryEntry>();
for (KalturaCategory category : openCategoryList) {
KalturaCategoryEntryFilter categoryEntryFilter = new KalturaCategoryEntryFilter();
categoryEntryFilter.categoryIdEqual = category.id;
// categoryEntryFilter.statusEqual =
// KalturaCategoryEntryStatus.ACTIVE;
KalturaCategoryEntryListResponse categoryEntryList = getCategoryEntry(categoryEntryFilter);
if (categoryEntryList.totalCount != 0) {
System.out.println("categoryEntryList.totalCount ------>"
+ categoryEntryList.totalCount);
for (KalturaCategoryEntry entry : categoryEntryList.objects) {
if (entry != null) {
categoryEntries.add(entry);
}
}
}
}
System.out.println("Total Media ------- >" + categoryEntries.size());
return categoryEntries;
}
这是输出:
categoryEntryList.totalCount ------>368
categoryEntryList.totalCount ------>2
categoryEntryList.totalCount ------>8
categoryEntryList.totalCount ------>2
categoryEntryList.totalCount ------>1
categoryEntryList.totalCount ------>17
categoryEntryList.totalCount ------>18
categoryEntryList.totalCount ------>1
categoryEntryList.totalCount ------>53
categoryEntryList.totalCount ------>37
categoryEntryList.totalCount ------>1
categoryEntryList.totalCount ------>2
categoryEntryList.totalCount ------>1
categoryEntryList.totalCount ------>7
categoryEntryList.totalCount ------>7
categoryEntryList.totalCount ------>6
categoryEntryList.totalCount ------>53
categoryEntryList.totalCount ------>2
categoryEntryList.totalCount ------>39
categoryEntryList.totalCount ------>1
Total Media ------- >226
答案 0 :(得分:2)
可能categoryEntryList.totalCount
和categoryEntryList.objects.size()
尝试更改
System.out.println("categoryEntryList.totalCount ------>"
+ categoryEntryList.totalCount);
要
System.out.println("categoryEntryList.totalCount ------>"
+ categoryEntryList.objects.size());
你将获得真正的数量。
答案 1 :(得分:2)
试
if (categoryEntryList.totalCount != 0) {
System.out.println("categoryEntryList.totalCount ------>"
+ categoryEntryList.totalCount);
for (KalturaCategoryEntry entry : categoryEntryList.objects) {
categoryEntries.add(entry);
}
}
而不是
if (categoryEntryList.totalCount != 0) {
System.out.println("categoryEntryList.totalCount ------>"
+ categoryEntryList.totalCount);
for (KalturaCategoryEntry entry : categoryEntryList.objects) {
if (entry != null) {
categoryEntries.add(entry);
}
}
}
如果得到的结果不同,那么正如@sᴜʀᴇsʜʜ所暗示的那样,categoryEntryList.totalCount
无法有效管理的对象列表中有空值。