java 8 变量区间比较封装工具类 这里提供一个生产级的区间比较工具类设计,支持int、long、double、BigDecimal、Date、LocalDate、LocalDateTime、String等常见类型,并提供了多种区间判断方式。完整工具类源码javaimport java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; /** * 区间比较工具类 * * 功能特性: * 1. 支持所有实现了 Comparable 接口的类型 * 2. 支持闭区间、开区间、半开半闭区间 * 3. 支持 null 安全处理 * 4. 支持对象字段提取后比较 * 5. 支持集合过滤 * 6. 支持自定义边界规则 * * @author YourName * @since 1.0 */ public final class RangeUtils { private RangeUtils() { // 工具类私有构造,防止实例化 } // ==================== 1. 数值类型区间比较(int) ==================== /** * 判断 int 值是否在闭区间内:[min, max],包含边界 */ public static boolean isInRange(int value, int min, int max) { return value = min value = max; } /** * 判断 int 值是否在开区间内:(min, max),不包含边界 */ public static boolean isInRangeExclusive(int value, int min, int max) { return value min value max; } /** * 判断 int 值是否在左闭右开区间内:[min, max) */ public static boolean isInRangeLeftClosed(int value, int min, int max) { return value = min value max; } /** * 判断 int 值是否在左开右闭区间内:(min, max] */ public static boolean isInRangeRightClosed(int value, int min, int max) { return value min value = max; } // ==================== 2. 数值类型区间比较(long) ==================== public static boolean isInRange(long value, long min, long max) { return value = min value = max; } public static boolean isInRangeExclusive(long value, long min, long max) { return value min value max; } public static boolean isInRangeLeftClosed(long value, long min, long max) { return value = min value max; } public static boolean isInRangeRightClosed(long value, long min, long max) { return value min value = max; } // ==================== 3. 数值类型区间比较(double) ==================== public static boolean isInRange(double value, double min, double max) { return value = min value = max; } public static boolean isInRangeExclusive(double value, double min, double max) { return value min value max; } public static boolean isInRangeLeftClosed(double value, double min, double max) { return value = min value max; } public static boolean isInRangeRightClosed(double value, double min, double max) { return value min value = max; } // ==================== 4. BigDecimal 区间比较 ==================== /** * 判断 BigDecimal 是否在闭区间内:[min, max] * 注意:使用 compareTo 而不是 equals,避免精度问题 */ public static boolean isInRange(BigDecimal value, BigDecimal min, BigDecimal max) { if (value == null) { return false; } boolean greaterOrEqualMin = min == null || value.compareTo(min) = 0; boolean lessOrEqualMax = max == null || value.compareTo(max) = 0; return greaterOrEqualMin lessOrEqualMax; } /** * 判断 BigDecimal 是否在开区间内:(min, max) */ public static boolean isInRangeExclusive(BigDecimal value, BigDecimal min, BigDecimal max) { if (value == null) { return false; } boolean greaterThanMin = min == null || value.compareTo(min) 0; boolean lessThanMax = max == null || value.compareTo(max) 0;

相关新闻

最新新闻

Meta开源大模型本地部署实战:从Llama 3到API封装全流程指南

Meta开源大模型本地部署实战:从Llama 3到API封装全流程指南

这次我们来看一个关于 Meta 近期发展动态的技术观察。对于关注 AI 和开源生态的开发者来说,Meta 的动向往往意味着新的技术栈、开源模型和工具链的更新。这篇文章不会讨论股价或商业新闻,而是聚焦于 Meta 在 AI 领域近期释放的技术信号、开源项目动态&am…

2026/8/10 2:27:31
基于音视频处理与NLP的娱乐内容技术化分析实践

基于音视频处理与NLP的娱乐内容技术化分析实践

这次我们来看一个名为“【阿梓】跟机哥比赛刮刮乐”的项目。从标题来看,这并非一个传统的技术工具或AI模型,而更像是一段记录特定事件或娱乐内容的视频素材。对于技术博客而言,我们的核心任务是从中提炼出可被技术化处理、分析或复现的切入点…

2026/8/10 2:27:31
九大网盘直链解析工具LinkSwift:你的个人下载加速器

九大网盘直链解析工具LinkSwift:你的个人下载加速器

九大网盘直链解析工具LinkSwift:你的个人下载加速器 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…

2026/8/10 2:27:31
深度解析Video-Subtitle-Extractor:本地化硬字幕提取的完整实战指南

深度解析Video-Subtitle-Extractor:本地化硬字幕提取的完整实战指南

深度解析Video-Subtitle-Extractor:本地化硬字幕提取的完整实战指南 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域…

2026/8/10 2:27:31
TikTok评论采集工具:三步轻松获取抖音视频评论数据

TikTok评论采集工具:三步轻松获取抖音视频评论数据

TikTok评论采集工具:三步轻松获取抖音视频评论数据 【免费下载链接】TikTokCommentScraper 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokCommentScraper 你是否曾需要分析抖音视频的评论数据,却为手动复制粘贴而烦恼?TikTokC…

2026/8/10 2:27:31
增量式MPC在工业控制中的实现与优化

增量式MPC在工业控制中的实现与优化

1. 项目概述:基于输入增量的状态空间MPC实现 在控制工程领域,模型预测控制(MPC)因其处理多变量约束系统的能力而备受青睐。最近我在Matlab环境下探索了一种改进的MPC实现方式——通过输入增量(incremental input)重构状态空间方程,这种方法特…

2026/8/10 2:22:31