Java 企业级工具类全家桶-01-字符串类型转换工具类

发布时间:2026/10/14 3:23:04
Java 企业级工具类全家桶-01-字符串类型转换工具类
目录一、工具类功能二、所需环境三、方法与调用示例按需调用四、工具类源码可直接复制一、工具类功能把外部传进来的字符串按目标类型转成Integer、Boolean、Date、枚举等对象转不过去统一给null调用方不用包 try-catch。二、所需环境JDK 17或以上三、方法与调用示例按需调用方法序号1方法用途把外部传来的字符串转成你指定的类型Integer、Boolean、Date、枚举等转不了统一给null而不是抛异常省掉成片的判空和 try-catch方法定义public static T T parse(String input, String pattern, ClassT targetType)️入参解释public static T T parse(原始字符串, 日期格式, 目标类型)返回值解释T与传入的目标类型同一个类型边界口径能转就返回目标类型对象转不了统一返回null不抛异常转不了分三种① 入参为空② 类型不支持如BigDecimal③ 写法不合法如42abc转Integer方法示例parse( hello , null, String.class)拿到hello先去掉首尾空格再返回parse( 42 , null, Integer.class)拿到42parse(42, null, int.class)拿到42基本类型int.class同样支持parse(99999999999, null, Long.class)拿到99999999999parse(1.5, null, Double.class)拿到1.5parse(1.5, null, Float.class)拿到1.5parse(300, null, Short.class)拿到300parse(7, null, Byte.class)拿到7parse(TRUE, null, Boolean.class)拿到true只认true/false字面量、忽略大小写parse(A, null, Character.class)拿到Aparse(paid, null, OrderStatus.class)拿到PAID枚举按常量名忽略大小写匹配parse(2024-01-15 10:30:00, null, Date.class)拿到Mon Jan 15 10:30:00 CST 2024parse(42abc, null, Integer.class)拿到null数字串写法不合法parse(yes, null, Boolean.class)拿到null不是true/false字面量parse(ab, null, Character.class)拿到null多于一个字符parse(42, null, BigDecimal.class)拿到null本类不支持该目标类型方法序号2方法用途把文本时间转成Date带不带分隔符、有没有秒、中文年月日这些常见写法都认不用自己列格式表挨个试方法定义public static Date parseDate(String input)️入参解释public static Date parseDate(日期字符串)返回值解释Date边界口径命中 14 种内置格式之一就返回Date一种都不命中返回null不抛异常解析按 STRICT 走2024-02-30这种不存在的日期算不命中不会被夹成当月最后一天方法示例parseDate(2024-01-15 10:30:00)拿到Mon Jan 15 10:30:00 CST 2024parseDate(2024-01-15 10:30)拿到同一个值只给到分也能解parseDate(2024-01-15 10:30:00.123)拿到同一个值123 毫秒仍在Date里只是toString不显示parseDate(2024-01-15T10:30:00)拿到Mon Jan 15 10:30:00 CST 2024parseDate(2024-01-15T10:30:00.123)拿到同一个值parseDate(2024-01-15T10:30)拿到同一个值parseDate(2024-01-15)拿到Mon Jan 15 00:00:00 CST 2024只给日期按系统时区当天零点还原parseDate(2024/01/15 10:30:00)拿到Mon Jan 15 10:30:00 CST 2024parseDate(2024/01/15 10:30)拿到Mon Jan 15 10:30:00 CST 2024parseDate(2024/01/15)拿到Mon Jan 15 00:00:00 CST 2024parseDate(15/01/2024 10:30:00)拿到Mon Jan 15 10:30:00 CST 2024日在前的英式写法parseDate(15/01/2024)拿到Mon Jan 15 00:00:00 CST 2024parseDate(2024年01月15日 10:30:00)拿到Mon Jan 15 10:30:00 CST 2024中文年月日写法parseDate(2024年01月15日)拿到Mon Jan 15 00:00:00 CST 2024parseDate(2024-02-30)拿到nullSTRICT 下这是不存在的日期算解析失败parseDate(null)拿到null不抛异常parseDate( )拿到null全空白同样算失败方法序号3方法用途对方有固定格式时按你给的格式转Date这个格式解不出来还会回退常见写法不会因为写死一个格式就把正常日期判成解析失败方法定义public static Date parseDate(String input, String pattern)️入参解释public static Date parseDate(日期字符串, 指定日期格式)返回值解释Date边界口径指定格式命中就返回Date指定格式不命中、或格式本身写错再逐个回退内置的 14 种格式不会因为写死一个格式就挡掉其它常见写法全落空返回null不抛异常方法示例parseDate(2024/01/15 06:00:00, yyyy/MM/dd HH:mm:ss)拿到Mon Jan 15 06:00:00 CST 2024指定格式命中parseDate(2024年01月15日, yyyy年MM月dd日)拿到Mon Jan 15 00:00:00 CST 2024中文格式按指定写法命中parseDate(2024-January-15, yyyy-MMMM-dd)拿到Mon Jan 15 00:00:00 CST 2024英文月份全名走MMMMparseDate(2024-01-15, yyyy年MM月dd日)拿到Mon Jan 15 00:00:00 CST 2024指定格式没命中、回退内置命中parseDate(2024-01-15, null)拿到Mon Jan 15 00:00:00 CST 2024格式给null直接按内置 14 种解析parseDate(2024-01-15, yyyy年MM)拿到Mon Jan 15 00:00:00 CST 2024格式本身写错也当作没指定parseDate(2024-02-30, yyyy年MM月dd日)拿到null指定格式与内置都救不了不存在的日期方法序号4方法用途在真转之前先判断这个字符串能不能转成目标类型批量导入时用它决定某条数据能不能收不用转一半才发现不对方法定义public static boolean isConvertible(String input, Class? targetType)️入参解释public static boolean isConvertible(原始字符串, 目标类型)返回值解释boolean边界口径能转返回true入参为空或转不了返回false不抛异常只有一种例外目标类型传null时抛NullPointerException那是调用方写错了不该伪装成false方法示例isConvertible( 42 , Integer.class)拿到trueisConvertible(TRUE, Boolean.class)拿到trueisConvertible(A, Character.class)拿到trueisConvertible(SHIPPED, OrderStatus.class)拿到trueisConvertible(2024-01-15, Date.class)拿到trueisConvertible(yes, Boolean.class)拿到false不是true/false字面量isConvertible(ab, Character.class)拿到false多于一个字符isConvertible(RUNNING, OrderStatus.class)拿到false没有这个常量名isConvertible(2024-02-30, Date.class)拿到false内置格式里没有这个日期isConvertible(42, BigDecimal.class)拿到false不支持的目标类型不算能转isConvertible(null, Date.class)拿到false入参为空不抛异常isConvertible(42, null)抛NullPointerException: targetType 不能为 null四、工具类源码可直接复制领取方式 关注点赞收藏私信回复「java工具类」可领取100个工具类「Java企业级工具类全家桶1-100」的完整源码。 工具类已调试通过复制粘贴即可使用省时省力 可保存到自己网盘永久有效觉得对您有帮助麻烦点点关注啦您的关注是我创作的最大动力~