Przeglądaj źródła

修复船公司查询分页边界检查错误

- 添加ArrayList导入
- 在分页前检查数组边界,避免IndexOutOfBoundsException
- 当filteredCompanies为空或start超出范围时返回空列表
heyiwen 2 tygodni temu
rodzic
commit
eb77fa0f8c

+ 7 - 1
JavaBackend/src/main/java/com/lianda/backend/service/CommonDataService.java

@@ -17,6 +17,7 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
@@ -145,7 +146,12 @@ public class CommonDataService {
         int start = currentPage * pageSize;
         int end = Math.min(start + pageSize, filteredCompanies.size());
 
-        List<ShippingCompanyDTO> pageContent = filteredCompanies.subList(start, end);
+        List<ShippingCompanyDTO> pageContent;
+        if (filteredCompanies.isEmpty() || start >= filteredCompanies.size()) {
+            pageContent = new ArrayList<>();
+        } else {
+            pageContent = filteredCompanies.subList(start, end);
+        }
 
         // 创建新的Page对象
         return new org.springframework.data.domain.PageImpl<>(