You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断List的sublist参数范围合法性并返回指定结果?

实现方法

可以通过自定义包装类来实现这个需求,以下分两种常见语言给出具体实现:

Java 版本

因为原生 List 的 sublist 方法返回的是子列表而非字符串,所以需要自定义类包装原生列表,拦截 sublist 调用并做索引校验:

import java.util.List;

public class CustomListWrapper<T> {
    private List<T> originalList;

    public CustomListWrapper(List<T> originalList) {
        this.originalList = originalList;
    }

    public String sublist(int fromIndex, int toIndex) {
        // 校验索引是否在合法范围:起始索引不小于0、结束索引不超过列表长度、起始索引不大于结束索引
        if (fromIndex < 0 || toIndex > originalList.size() || fromIndex > toIndex) {
            return "invalid";
        }
        return "valid";
    }

    // 如需保留原生List的其他方法,可添加转发方法
    public T get(int index) {
        return originalList.get(index);
    }
}

使用示例:

import java.util.Arrays;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> originalList = Arrays.asList("a", "b", "c", "d", "e");
        CustomListWrapper<String> x = new CustomListWrapper<>(originalList);

        System.out.println(x.sublist(1, 10)); // 输出 "invalid"
        System.out.println(x.sublist(1, 2));  // 输出 "valid"
    }
}

Python 版本

同样通过自定义类包装原生列表,实现自定义的 sublist 方法:

class CustomList:
    def __init__(self, original_list):
        self.original_list = original_list

    def sublist(self, from_idx, to_idx):
        if from_idx < 0 or to_idx > len(self.original_list) or from_idx > to_idx:
            return "invalid"
        return "valid"

使用示例:

x = CustomList(["a", "b", "c", "d", "e"])
print(x.sublist(1, 10))  # 输出 "invalid"
print(x.sublist(1, 2))   # 输出 "valid"

核心逻辑都是:通过包装原生列表,拦截 sublist 调用,先校验索引范围,再返回要求的字符串。

内容的提问来源于stack exchange,提问作者wahyu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:22:20