你好,我对这段代码有点混淆....对不起我的坏语法......这个java中还是新的。
private void loadSessionEvents() {
ArgumentBuilder arg = new ArgumentBuilder();
arg.addArg(getSessionLogId());
DBResult result = DBOperator.getInstance().doOperation(
FileOperation.class, "loadSessionLogEvents", arg.getTypeInfo());
// ArrayList<MsmLogIveScreenshots> logEvent =
// (ArrayList<MsmLogIveScreenshots>) result
// .getValue("RETURN");
// setSessionLogEvents(logEvent);
ArrayList<Object> logList = (ArrayList<Object>) result
.getValue("RETURN");
ArrayList<SessionLogEventModel> windowLogs = null;
if (ValidationUtils.nonNullAndNotEmpty(logList)) {
windowLogs = new ArrayList<SessionLogEventModel>();
for (int i = 0; i < logList.size(); i++) {
Object obj = logList.get(i);
if (obj instanceof MsmLogIveScreenshots) {
SessionLogEventModel log = convertSessionLogToModel((MsmLogIveScreenshots) obj);
windowLogs.add(log);
} else if (obj instanceof MsmDbAuditOracle) {
SessionLogEventModel log = convertOracleLogToModel((MsmDbAuditOracle) obj);
windowLogs.add(log);
}
}
setSessionLogEventModel(windowLogs);
}
据我所知,for循环最终将加载所有数据..但我想要的是它仍然会加载所有数据但只选择50个数据列表再次显示在jsp..sorry中我的语法..
答案 0 :(得分:0)
这里最常见的做法是采用最近的50个值。所以我要做的就是检查长度,然后使用subList
。
实施例
if(logList.size() > 50)
{
// you've got more than 50 objects here.
logList = logList.subList(logList.size() - 50, logList.size());
}
如果List
中有少于或等于50个元素,则无需删除它。