JDK工具类之java.util.function包的源码学习

依赖关系

luogw@luogw-mbp function$ ag 'import ' | awk 'BEGIN{FS=":"} {print $3}' | awk 'BEGIN{FS=" "} {print $2}' | awk 'BEGIN{FS=";"} {print $1}' | sort -u
java.util.Comparator
java.util.Objects

通过import的关系,可知function依赖接口Comparator与Objects类
Objects类的职责是

This class consists of static utility methods for operating on objects. These utilities include null-safe or null-tolerant methods for computing the hash code of an object, returning a string for an object, and comparing two objects.

内部实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用 JDK 1.8 语法的简单工具类示例: ``` import java.util.function.Predicate; public class MyUtils { /** * 判断字符串是否为空 * @param str 待判断的字符串 * @return 如果字符串为 null 或者长度为 0,则返回 true;否则返回 false。 */ public static boolean isEmpty(String str) { return str == null || str.length() == 0; } /** * 判断字符串是否不为空 * @param str 待判断的字符串 * @return 如果字符串不为 null 且长度大于 0,则返回 true;否则返回 false。 */ public static boolean isNotEmpty(String str) { return !isEmpty(str); } /** * 判断整数是否为正数 * @param num 待判断的整数 * @return 如果整数大于 0,则返回 true;否则返回 false。 */ public static boolean isPositive(int num) { return num > 0; } /** * 判断整数是否为负数 * @param num 待判断的整数 * @return 如果整数小于 0,则返回 true;否则返回 false。 */ public static boolean isNegative(int num) { return num < 0; } /** * 判断整数是否为偶数 * @param num 待判断的整数 * @return 如果整数是偶数,则返回 true;否则返回 false。 */ public static boolean isEven(int num) { return num % 2 == 0; } /** * 判断整数是否为奇数 * @param num 待判断的整数 * @return 如果整数是奇数,则返回 true;否则返回 false。 */ public static boolean isOdd(int num) { return num % 2 != 0; } /** * 判断字符串是否符合指定的条件 * @param str 待判断的字符串 * @param predicate 判断条件,使用 Predicate 接口进行封装 * @return 如果字符串符合条件,则返回 true;否则返回 false。 */ public static boolean checkString(String str, Predicate<String> predicate) { return predicate.test(str); } } ``` 这个工具类含了一些常用的方法,可以帮助我们快速地完成一些字符串和整数的判断。其中,最后一个方法使用了 Java 8 中的函数式接口 Predicate,可以方便地根据需要自定义判断条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值