From 6de3df8c766afef970a4e09f5fe8cce841a14e04 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Wed, 5 Feb 2025 21:09:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3String=E8=BD=ACLong=E4=B8=A2?= =?UTF-8?q?=E5=A4=B1=E7=B2=BE=E5=BA=A6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jeesite/common/lang/ObjectUtils.java | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/com/jeesite/common/lang/ObjectUtils.java b/common/src/main/java/com/jeesite/common/lang/ObjectUtils.java index c8c72585..6b3f4541 100644 --- a/common/src/main/java/com/jeesite/common/lang/ObjectUtils.java +++ b/common/src/main/java/com/jeesite/common/lang/ObjectUtils.java @@ -73,14 +73,37 @@ public class ObjectUtils extends org.apache.commons.lang3.ObjectUtils { * 转换为 Long 类型 */ public static Long toLong(final Object val) { - return toDouble(val).longValue(); + if (val == null) { + return 0L; + } + try { + String str = val.toString(); + if (StringUtils.isBlank(str)) { + return 0L; + } + if (StringUtils.contains(str, "*")) { + Long number = null, d = null; + for (String s : StringUtils.split(str, "*")) { + d = Long.parseLong(StringUtils.trim(s)); + if (number == null) { + number = d; + } else { + number *= d; + } + } + return number; + } + return Long.parseLong(StringUtils.trim(str)); + } catch (Exception e) { + return 0L; + } } /** * 转换为 Integer 类型 */ public static Integer toInteger(final Object val) { - return toDouble(val).intValue(); + return toLong(val).intValue(); } /** @@ -153,8 +176,7 @@ public class ObjectUtils extends org.apache.commons.lang3.ObjectUtils { return null; } byte[] bytes = ObjectUtils.serialize(source); - Object target = ObjectUtils.unserialize(bytes); - return target; + return ObjectUtils.unserialize(bytes); } /**