Java 8 变量比较工具类(通用版)
在日常开发中变量比较大于、小于、等于、区间判断是最频繁的操作之一。一个好的工具类可以让代码更简洁、更安全、更易读。一、完整工具类源码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. 支持 int、long、double、BigDecimal、Date、LocalDate、LocalDateTime、String 等类型 * 2. 支持 、、、、、! 六种比较操作 * 3. 支持区间判断开区间、闭区间、半开半闭 * 4. 支持空值安全null 返回 false * 5. 支持对象字段提取后比较 * 6. 支持集合过滤和排序 * * author YourName * since 1.0 */ public final class CompareUtils { private CompareUtils() { // 工具类私有构造防止实例化 } // 1. 基本比较int public static boolean isGreater(int a, int b) { return a b; } public static boolean isGreaterOrEqual(int a, int b) { return a b; } public static boolean isLess(int a, int b) { return a b; } public static boolean isLessOrEqual(int a, int b) { return a b; } public static boolean isEqual(int a, int b) { return a b; } public static boolean isNotEqual(int a, int b) { return a ! b; } /** * 判断 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 中的较大值 */ public static int max(int a, int b) { return Math.max(a, b); } /** * 获取两个 int 中的较小值 */ public static int min(int a, int b) { return Math.min(a, b); } // 2. 基本比较long public static boolean isGreater(long a, long b) { return a b; } public static boolean isGreaterOrEqual(long a, long b) { return a b; } public static boolean isLess(long a, long b) { return a b; } public static boolean isLessOrEqual(long a, long b) { return a b; } public static boolean isEqual(long a, long b) { return a b; } public static boolean isNotEqual(long a, long b) { return a ! b; } 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; } // 3. 基本比较double /** * double 比较注意浮点数精度问题推荐使用 BigDecimal */ public static boolean isGreater(double a, double b) { return Double.compare(a, b) 0; } public static boolean isGreaterOrEqual(double a, double b) { return Double.compare(a, b) 0; } public static boolean isLess(double a, double b) { return Double.compare(a, b) 0; } public static boolean isLessOrEqual(double a, double b) { return Double.compare(a, b) 0; } public static boolean isEqual(double a, double b) { return Double.compare(a, b) 0; } public static boolean isNotEqual(double a, double b) { return Double.compare(a, b) ! 0; } public static boolean isInRange(double value, double min, double max) { return value min value max; } // 4. BigDecimal 比较 /** * 判断 a b */ public static boolean isGreater(BigDecimal a, BigDecimal b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } /** * 判断 a b */ public static boolean isGreaterOrEqual(BigDecimal a, BigDecimal b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } /** * 判断 a b */ public static boolean isLess(BigDecimal a, BigDecimal b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } /** * 判断 a b */ public static boolean isLessOrEqual(BigDecimal a, BigDecimal b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } /** * 判断 a b */ public static boolean isEqual(BigDecimal a, BigDecimal b) { if (a null b null) { return true; } if (a null || b null) { return false; } return a.compareTo(b) 0; } /** * 判断 a ! b */ public static boolean isNotEqual(BigDecimal a, BigDecimal b) { return !isEqual(a, b); } /** * 判断 BigDecimal 是否在闭区间内[min, max] */ 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; return greaterThanMin lessThanMax; } /** * 获取两个 BigDecimal 中的较大值null 安全 */ public static BigDecimal max(BigDecimal a, BigDecimal b) { if (a null b null) { return null; } if (a null) { return b; } if (b null) { return a; } return a.compareTo(b) 0 ? a : b; } /** * 获取两个 BigDecimal 中的较小值null 安全 */ public static BigDecimal min(BigDecimal a, BigDecimal b) { if (a null b null) { return null; } if (a null) { return b; } if (b null) { return a; } return a.compareTo(b) 0 ? a : b; } // 5. Date 比较 public static boolean isGreater(Date a, Date b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } public static boolean isGreaterOrEqual(Date a, Date b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } public static boolean isLess(Date a, Date b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } public static boolean isLessOrEqual(Date a, Date b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } public static boolean isEqual(Date a, Date b) { if (a null b null) { return true; } if (a null || b null) { return false; } return a.compareTo(b) 0; } public static boolean isNotEqual(Date a, Date b) { return !isEqual(a, b); } public static boolean isInRange(Date value, Date min, Date 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; } // 6. LocalDate 比较 public static boolean isGreater(LocalDate a, LocalDate b) { if (a null || b null) { return false; } return a.isAfter(b); } public static boolean isGreaterOrEqual(LocalDate a, LocalDate b) { if (a null || b null) { return false; } return !a.isBefore(b); } public static boolean isLess(LocalDate a, LocalDate b) { if (a null || b null) { return false; } return a.isBefore(b); } public static boolean isLessOrEqual(LocalDate a, LocalDate b) { if (a null || b null) { return false; } return !a.isAfter(b); } public static boolean isEqual(LocalDate a, LocalDate b) { if (a null b null) { return true; } if (a null || b null) { return false; } return a.isEqual(b); } public static boolean isNotEqual(LocalDate a, LocalDate b) { return !isEqual(a, b); } public static boolean isInRange(LocalDate value, LocalDate min, LocalDate max) { if (value null) { return false; } boolean greaterOrEqualMin min null || !value.isBefore(min); boolean lessOrEqualMax max null || !value.isAfter(max); return greaterOrEqualMin lessOrEqualMax; } public static boolean isInRangeExclusive(LocalDate value, LocalDate min, LocalDate max) { if (value null) { return false; } boolean greaterThanMin min null || value.isAfter(min); boolean lessThanMax max null || value.isBefore(max); return greaterThanMin lessThanMax; } // 7. LocalDateTime 比较 public static boolean isGreater(LocalDateTime a, LocalDateTime b) { if (a null || b null) { return false; } return a.isAfter(b); } public static boolean isGreaterOrEqual(LocalDateTime a, LocalDateTime b) { if (a null || b null) { return false; } return !a.isBefore(b); } public static boolean isLess(LocalDateTime a, LocalDateTime b) { if (a null || b null) { return false; } return a.isBefore(b); } public static boolean isLessOrEqual(LocalDateTime a, LocalDateTime b) { if (a null || b null) { return false; } return !a.isAfter(b); } public static boolean isEqual(LocalDateTime a, LocalDateTime b) { if (a null b null) { return true; } if (a null || b null) { return false; } return a.isEqual(b); } public static boolean isInRange(LocalDateTime value, LocalDateTime min, LocalDateTime max) { if (value null) { return false; } boolean greaterOrEqualMin min null || !value.isBefore(min); boolean lessOrEqualMax max null || !value.isAfter(max); return greaterOrEqualMin lessOrEqualMax; } // 8. String 比较字典序 public static boolean isGreater(String a, String b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } public static boolean isGreaterOrEqual(String a, String b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } public static boolean isLess(String a, String b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } public static boolean isLessOrEqual(String a, String b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } public static boolean isEqual(String a, String b) { return Objects.equals(a, b); } public static boolean isNotEqual(String a, String b) { return !Objects.equals(a, b); } public static boolean isInRange(String value, String min, String 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; } // 9. 泛型比较支持所有 Comparable 类型 /** * 判断 a bnull 安全null 返回 false */ public static T extends ComparableT boolean isGreater(T a, T b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } /** * 判断 a b */ public static T extends ComparableT boolean isGreaterOrEqual(T a, T b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } /** * 判断 a b */ public static T extends ComparableT boolean isLess(T a, T b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } /** * 判断 a b */ public static T extends ComparableT boolean isLessOrEqual(T a, T b) { if (a null || b null) { return false; } return a.compareTo(b) 0; } /** * 判断 a bnull 安全 */ public static T extends ComparableT boolean isEqual(T a, T b) { if (a null b null) { return true; } if (a null || b null) { return false; } return a.compareTo(b) 0; } /** * 判断 a ! b */ public static T extends ComparableT boolean isNotEqual(T a, T b) { return !isEqual(a, b); } /** * 判断值是否在闭区间内[min, max] */ public static T extends ComparableT boolean isInRange(T value, T min, T 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; } /** * 判断值是否在开区间内(min, max) */ public static T extends ComparableT boolean isInRangeExclusive(T value, T min, T max) { if (value null) { return false; } boolean greaterThanMin min null || value.compareTo(min) 0; boolean lessThanMax max null || value.compareTo(max) 0; return greaterThanMin lessThanMax; } /** * 获取两个 Comparable 中的较大值null 安全 */ public static T extends ComparableT T max(T a, T b) { if (a null b null) { return null; } if (a null) { return b; } if (b null) { return a; } return a.compareTo(b) 0 ? a : b; } /** * 获取两个 Comparable 中的较小值null 安全 */ public static T extends ComparableT T min(T a, T b) { if (a null b null) { return null; } if (a null) { return b; } if (b null) { return a; } return a.compareTo(b) 0 ? a : b; } // 10. 对象字段提取比较 /** * 判断对象的字段是否大于指定值 */ public static T, R extends ComparableR boolean isFieldGreater( T obj, FunctionT, R extractor, R target) { if (obj null) { return false; } R value extractor.apply(obj); if (value null || target null) { return false; } return value.compareTo(target) 0; } /** * 判断对象的字段是否小于指定值 */ public static T, R extends ComparableR boolean isFieldLess( T obj, FunctionT, R extractor, R target) { if (obj null) { return false; } R value extractor.apply(obj); if (value null || target null) { return false; } return value.compareTo(target) 0; } /** * 判断对象的字段是否在闭区间内 */ public static T, R extends ComparableR boolean isFieldInRange( T obj, FunctionT, R extractor, R min, R max) { if (obj null) { return false; } R value extractor.apply(obj); if (value null) { return false; } boolean greaterOrEqualMin min null || value.compareTo(min) 0; boolean lessOrEqualMax max null || value.compareTo(max) 0; return greaterOrEqualMin lessOrEqualMax; } // 11. 集合过滤 /** * 从列表中过滤出值在闭区间内的元素 */ public static T extends ComparableT ListT filterInRange( ListT list, T min, T max) { if (list null || list.isEmpty()) { return new ArrayList(); } return list.stream() .filter(item - isInRange(item, min, max)) .collect(Collectors.toList()); } /** * 从列表中过滤出对象字段在闭区间内的元素 */ public static T, R extends ComparableR ListT filterByFieldInRange( ListT list, FunctionT, R extractor, R min, R max) { if (list null || list.isEmpty()) { return new ArrayList(); } return list.stream() .filter(item - isFieldInRange(item, extractor, min, max)) .collect(Collectors.toList()); } /** * 从列表中过滤出值大于指定值的元素 */ public static T extends ComparableT ListT filterGreaterThan(ListT list, T target) { if (list null || list.isEmpty()) { return new ArrayList(); } return list.stream() .filter(item - isGreater(item, target)) .collect(Collectors.toList()); } /** * 从列表中过滤出值小于指定值的元素 */ public static T extends ComparableT ListT filterLessThan(ListT list, T target) { if (list null || list.isEmpty()) { return new ArrayList(); } return list.stream() .filter(item - isLess(item, target)) .collect(Collectors.toList()); } // 12. 比较结果封装链式调用 /** * 创建比较上下文用于链式比较 */ public static T extends ComparableT CompareContextT compare(T value) { return new CompareContext(value); } /** * 比较上下文类支持链式调用 */ public static class CompareContextT extends ComparableT { private final T value; public CompareContext(T value) { this.value value; } public boolean isGreaterThan(T other) { return CompareUtils.isGreater(value, other); } public boolean isGreaterOrEqualThan(T other) { return CompareUtils.isGreaterOrEqual(value, other); } public boolean isLessThan(T other) { return CompareUtils.isLess(value, other); } public boolean isLessOrEqualThan(T other) { return CompareUtils.isLessOrEqual(value, other); } public boolean isEqualTo(T other) { return CompareUtils.isEqual(value, other); } public boolean isBetween(T min, T max) { return CompareUtils.isInRange(value, min, max); } public boolean isBetweenExclusive(T min, T max) { return CompareUtils.isInRangeExclusive(value, min, max); } public T getValue() { return value; } } }二、使用示例1. 基本数值比较java// int boolean b1 CompareUtils.isGreater(10, 5); // true boolean b2 CompareUtils.isInRange(25, 18, 60); // true // BigDecimal BigDecimal price new BigDecimal(99.99); BigDecimal min new BigDecimal(10); BigDecimal max new BigDecimal(100); boolean inRange CompareUtils.isInRange(price, min, max); // true // double注意精度推荐用 BigDecimal boolean d1 CompareUtils.isGreater(99.9, 10.0); // true2. 日期比较javaLocalDate today LocalDate.now(); LocalDate start LocalDate.of(2026, 1, 1); LocalDate end LocalDate.of(2026, 12, 31); boolean inYear CompareUtils.isInRange(today, start, end); // true boolean isAfter CompareUtils.isGreater(today, start); // true // Date Date now new Date(); Date past new Date(now.getTime() - 3600000); boolean isFuture CompareUtils.isGreater(now, past); // true3. 字符串比较javaString version 2.5; String minVersion 2.0; String maxVersion 3.0; boolean valid CompareUtils.isInRange(version, minVersion, maxVersion); // true boolean isNewer CompareUtils.isGreater(version, 2.0); // true4. 对象字段提取比较javaData public class Order { private BigDecimal amount; private LocalDate orderDate; } Order order new Order(); order.setAmount(new BigDecimal(1500)); order.setOrderDate(LocalDate.now()); // 判断订单金额是否超过 1000 boolean isHigh CompareUtils.isFieldGreater(order, Order::getAmount, new BigDecimal(1000)); // 判断订单金额是否在 500-2000 之间 boolean inRange CompareUtils.isFieldInRange(order, Order::getAmount, new BigDecimal(500), new BigDecimal(2000));5. 集合过滤javaListInteger numbers Arrays.asList(10, 25, 30, 45, 60, 75); // 过滤出 20-50 之间的数字 ListInteger filtered CompareUtils.filterInRange(numbers, 20, 50); // 结果: [25, 30, 45] // 过滤出大于 50 的数字 ListInteger greater CompareUtils.filterGreaterThan(numbers, 50); // 结果: [60, 75]6. 链式调用java// 优雅的链式比较 boolean result CompareUtils.compare(new BigDecimal(50)) .isBetween(new BigDecimal(10), new BigDecimal(100)); // true boolean isLarge CompareUtils.compare(age) .isGreaterThan(18) .isLessThan(60); // 判断年龄在 18-60 之间7. 空值安全比较javaBigDecimal value null; BigDecimal target new BigDecimal(10); // null 返回 false不会 NPE boolean result CompareUtils.isGreater(value, target); // false boolean result2 CompareUtils.isInRange(value, target, new BigDecimal(100)); // false三、API 速查表方法说明支持类型isGreater(a, b)a bint, long, double, BigDecimal, Date, LocalDate, LocalDateTime, StringisGreaterOrEqual(a, b)a b同上isLess(a, b)a b同上isLessOrEqual(a, b)a b同上isEqual(a, b)a b同上isNotEqual(a, b)a ! b同上isInRange(value, min, max)value ∈ [min, max]同上isInRangeExclusive(value, min, max)value ∈ (min, max)同上max(a, b)取较大值同上min(a, b)取较小值同上isFieldInRange(obj, extractor, min, max)字段值 ∈ [min, max]任意对象filterInRange(list, min, max)过滤 List支持 Comparablecompare(value).isBetween(min, max)链式区间判断支持 Comparable四、设计总结特点说明null 安全所有方法对 null 值返回 false不会抛出 NPE类型丰富支持 int、long、double、BigDecimal、Date、LocalDate、LocalDateTime、String泛型支持提供泛型方法支持所有 Comparable 类型链式调用通过CompareContext支持优雅的链式比较集合处理提供集合过滤工具快速筛选数据字段提取支持从对象中提取字段后比较减少重复代码

相关新闻

UE5蓝图快速集成天气API:用VaRest插件5分钟实现动态数据驱动

UE5蓝图快速集成天气API:用VaRest插件5分钟实现动态数据驱动

1. 项目概述:为什么要在UE5蓝图里调用天气API? 如果你正在用UE5做项目,无论是游戏、模拟器还是数字孪生应用,想让场景里的天空、光照、甚至NPC行为根据真实天气动态变化,手动调参数肯定不现实。这时候,调用…

2026/8/9 12:29:45 阅读更多 →
ImageGlass:告别格式困扰,一个开源图像浏览器如何重塑你的图片查看体验

ImageGlass:告别格式困扰,一个开源图像浏览器如何重塑你的图片查看体验

ImageGlass:告别格式困扰,一个开源图像浏览器如何重塑你的图片查看体验 【免费下载链接】ImageGlass 🏞 A fast, open-source, modern image viewer for 90 formats – including WEBP, GIF, SVG, AVIF, JXL, HEIC and more – built for smo…

2026/8/9 12:29:45 阅读更多 →
如何3分钟拯救B站缓存视频:m4s-converter无损转换完整解决方案

如何3分钟拯救B站缓存视频:m4s-converter无损转换完整解决方案

如何3分钟拯救B站缓存视频:m4s-converter无损转换完整解决方案 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 问题诊断室&#xff1…

2026/8/9 12:29:45 阅读更多 →

最新新闻

2026乌鲁木齐考公培训机构TOP5排名及口碑榜:这样选才能避开“假努力”的坑

2026乌鲁木齐考公培训机构TOP5排名及口碑榜:这样选才能避开“假努力”的坑

在乌鲁木齐,考公培训市场早已不是几家独大的局面。线上品牌下沉、本地机构崛起、全国连锁持续升级,让很多备考者在选择时陷入纠结:到底哪家更靠谱?哪家更适合自己?本期我们基于师资透明度、课堂强度、督学管理、学员口…

2026/8/10 2:50:25 阅读更多 →
Python机器学习入门:环境配置与实战技巧

Python机器学习入门:环境配置与实战技巧

1. 为什么选择Python作为机器学习入门语言Python在机器学习领域的统治地位并非偶然。作为一门已有30多年历史的语言,它凭借几个关键优势成为AI/ML领域的事实标准:首先,Python的语法设计极其友好。与C或Java相比,Python代码读起来几…

2026/8/10 2:50:25 阅读更多 →
Oracle EBS R12多账簿系统架构与跨国财务管理实践

Oracle EBS R12多账簿系统架构与跨国财务管理实践

1. Oracle EBS R12多账簿系统架构解析 跨国企业财务管理的核心痛点在于如何同时满足不同国家的会计准则、货币政策和税务要求。Oracle EBS R12的Multi-Ledger解决方案正是为此而生,它允许企业在单一实例中维护多个完全独立的会计账簿。 1.1 多账簿与传统架构的本质…

2026/8/10 2:50:25 阅读更多 →
UE5.4 Android打包Gradle下载超时:国内镜像源配置终极指南

UE5.4 Android打包Gradle下载超时:国内镜像源配置终极指南

1. 项目概述:当UE5.4遇上Android打包的“网络墙”如果你正在用虚幻引擎5.4开发移动端项目,并且满怀期待地点击了“打包Android”,却在漫长的等待后,眼睁睁看着日志窗口卡在“Downloading https://services.gradle.org/distributio…

2026/8/10 2:50:25 阅读更多 →
Obsidian高级项目管理:用Dataview与属性构建动态叙事追踪系统

Obsidian高级项目管理:用Dataview与属性构建动态叙事追踪系统

1. 先搞清楚“黑月光的反击”在 Obsidian 里到底要解决什么问题看到“EP20 黑月光的反击obsidian vow”这个标题,第一反应可能有点懵。这不像一个标准的工具或插件名,更像是一个具体的、带有叙事性的项目代号。结合“Obsidian”这个关键词,我…

2026/8/10 2:50:24 阅读更多 →
Unity资源管理:分类策略与优化实践指南

Unity资源管理:分类策略与优化实践指南

1. Unity资源分类:从入门到精通的完整指南作为一名Unity开发者,我深知资源管理是项目成败的关键因素之一。记得刚入行时,我曾因为资源分类混乱导致项目后期难以维护,不得不花费两周时间重构整个资源库。本文将分享我在Unity资源分…

2026/8/10 2:49:24 阅读更多 →

日新闻

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南 【免费下载链接】graphql-css A blazing fast CSS-in-GQL™ library. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-css GraphQL-CSS是一个基于GraphQL的CSS-in-GQL™库&#xff0…

2026/8/10 0:00:02 阅读更多 →
告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.com/…

2026/8/10 0:00:02 阅读更多 →
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否曾经因为游戏插件的复杂…

2026/8/10 0:00:02 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/10 1:05:29 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/10 1:05:29 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/10 1:05:29 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/9 17:05:02 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/10 1:05:29 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/9 17:05:02 阅读更多 →