Ich habe eine JSF-Seite, auf der eine Liste der Glassfish-Protokolldateien angezeigt wird. Ich benutze Lazy Loading zur Paginierung. Ich behalte die Liste der Namen der Protokolldateien in Java List.
private List<directoryListObj> dataList = new ArrayList<>();
dataList = dataList.subList(firstRow, lastRow);
Und hier ist das Problem. Zum Beispiel habe ich 35 Dateien im Verzeichnis. Wenn ich das mache
dataList = dataList.subList(5, 15);
Es funktioniert gut. Aber wenn ich das mache:
dataList = dataList.subList(30, 38);
Ich erhalte einen falschen Index, weil ich einen Index außerhalb der Liste erhalten möchte. Wie kann ich beispielsweise Listenelemente von 30 bis 35 zurückgeben? Ich möchte, wenn ich einen Index von 30 bis 40 erhalten möchte, aber wenn es nur 35 Indizes gibt, um nur 5 zu erhalten.
dataList = dataList.subList(30, 38 > dataList.size() ? dataList.size() : 38);