Tôi có một trang JSF hiển thị danh sách các tệp nhật ký Glassfish. Tôi sử dụng tải lười biếng để phân trang. Tôi giữ danh sách các tên tệp nhật ký trong Java List.
private List<directoryListObj> dataList = new ArrayList<>();
dataList = dataList.subList(firstRow, lastRow);
Và đây là vấn đề. Ví dụ, tôi có 35 tệp trong thư mục. Khi tôi làm điều này
dataList = dataList.subList(5, 15);
Nó hoạt động tốt. Nhưng khi tôi làm điều này:
dataList = dataList.subList(30, 38);
Tôi gặp lỗi chỉ mục sai vì tôi muốn lấy chỉ mục bên ngoài Danh sách. Làm cách nào để tôi có thể trả về ví dụ các phần tử Danh sách từ 30 đến 35? Tôi muốn nếu tôi muốn nhận được chỉ số từ 30 đến 40 nhưng nếu chỉ có 35 chỉ số chỉ nhận được 5.
dataList = dataList.subList(30, 38 > dataList.size() ? dataList.size() : 38);