java 实现一个工具类,传入 开始年 结束年,返回 区间各个年的list 集合

83 阅读1分钟

@TOC

1 问题

java 实现一个工具类,传入 开始年 结束年,返回 区间各个年的list 集合

2 实现

在 Java 中,有一个现成的工具类可以用于处理日期和时间,那就是 java.time.Year 类。你可以使用这个类来轻松地获取两个年份之间的所有年份。以下是一个示例代码:

import java.time.Year;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class YearRangeUtil {
    public static List<Year> getYearRange(int startYear, int endYear) {
        return IntStream.rangeClosed(startYear, endYear)
                .mapToObj(Year::of)
                .collect(Collectors.toList());
    }

    public static void main(String[] args) {
        int startYear = 2000;
        int endYear = 2020;
        List<Year> years = getYearRange(startYear, endYear);
        System.out.println("Years between " + startYear + " and " + endYear + ": " + years);
    }
}

在这个示例中,我们使用了 IntStream.rangeClosed 来生成开始年份和结束年份之间的整数流,然后使用 mapToObj 方法将每个整数转换为相应的 Year 对象,并最终将它们收集到一个列表中。这样就可以轻松地获取指定范围内的年份列表。