From c3c3947d65ecc1a1da10a348960a59696bf0c0c9 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期二, 04 三月 2025 20:09:02 +0800 Subject: [PATCH] 优化代码 --- src/main/java/com/ruoyi/common/core/text/Convert.java | 133 ++++++++++++++++++++++++-------------------- 1 files changed, 73 insertions(+), 60 deletions(-) diff --git a/src/main/java/com/ruoyi/common/core/text/Convert.java b/src/main/java/com/ruoyi/common/core/text/Convert.java index 9dd076d..3a25fcd 100644 --- a/src/main/java/com/ruoyi/common/core/text/Convert.java +++ b/src/main/java/com/ruoyi/common/core/text/Convert.java @@ -2,15 +2,17 @@ import java.math.BigDecimal; import java.math.BigInteger; +import java.math.RoundingMode; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.text.NumberFormat; import java.util.Set; import com.ruoyi.common.utils.StringUtils; +import org.apache.commons.lang3.ArrayUtils; /** * 绫诲瀷杞崲鍣� - * + * * @author ruoyi */ public class Convert @@ -19,7 +21,7 @@ * 杞崲涓哄瓧绗︿覆<br> * 濡傛灉缁欏畾鐨勫�间负null锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -41,7 +43,7 @@ * 杞崲涓哄瓧绗︿覆<br> * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -54,7 +56,7 @@ * 杞崲涓哄瓧绗�<br> * 濡傛灉缁欏畾鐨勫�间负null锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -78,7 +80,7 @@ * 杞崲涓哄瓧绗�<br> * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -91,7 +93,7 @@ * 杞崲涓篵yte<br> * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -129,7 +131,7 @@ * 杞崲涓篵yte<br> * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -142,7 +144,7 @@ * 杞崲涓篠hort<br> * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -180,7 +182,7 @@ * 杞崲涓篠hort<br> * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -193,7 +195,7 @@ * 杞崲涓篘umber<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -227,7 +229,7 @@ * 杞崲涓篘umber<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -240,7 +242,7 @@ * 杞崲涓篿nt<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -278,7 +280,7 @@ * 杞崲涓篿nt<br> * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -289,7 +291,7 @@ /** * 杞崲涓篒nteger鏁扮粍<br> - * + * * @param str 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -300,7 +302,7 @@ /** * 杞崲涓篖ong鏁扮粍<br> - * + * * @param str 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -311,7 +313,7 @@ /** * 杞崲涓篒nteger鏁扮粍<br> - * + * * @param split 鍒嗛殧绗� * @param split 琚浆鎹㈢殑鍊� * @return 缁撴灉 @@ -334,7 +336,7 @@ /** * 杞崲涓篖ong鏁扮粍<br> - * + * * @param split 鍒嗛殧绗� * @param str 琚浆鎹㈢殑鍊� * @return 缁撴灉 @@ -357,18 +359,22 @@ /** * 杞崲涓篠tring鏁扮粍<br> - * + * * @param str 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ public static String[] toStrArray(String str) { + if (StringUtils.isEmpty(str)) + { + return new String[] {}; + } return toStrArray(",", str); } /** * 杞崲涓篠tring鏁扮粍<br> - * + * * @param split 鍒嗛殧绗� * @param split 琚浆鎹㈢殑鍊� * @return 缁撴灉 @@ -382,7 +388,7 @@ * 杞崲涓簂ong<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -421,7 +427,7 @@ * 杞崲涓簂ong<br> * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -434,7 +440,7 @@ * 杞崲涓篸ouble<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -473,7 +479,7 @@ * 杞崲涓篸ouble<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -486,7 +492,7 @@ * 杞崲涓篎loat<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -524,7 +530,7 @@ * 杞崲涓篎loat<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -535,9 +541,9 @@ /** * 杞崲涓篵oolean<br> - * String鏀寔鐨勫�间负锛歵rue銆乫alse銆亂es銆乷k銆乶o锛�1,0 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> + * String鏀寔鐨勫�间负锛歵rue銆乫alse銆亂es銆乷k銆乶o銆�1銆�0銆佹槸銆佸惁, 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -561,18 +567,15 @@ switch (valueStr) { case "true": + case "yes": + case "ok": + case "1": + case "鏄�": return true; case "false": - return false; - case "yes": - return true; - case "ok": - return true; case "no": - return false; - case "1": - return true; case "0": + case "鍚�": return false; default: return defaultValue; @@ -583,7 +586,7 @@ * 杞崲涓篵oolean<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -595,7 +598,7 @@ /** * 杞崲涓篍num瀵硅薄<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> - * + * * @param clazz Enum鐨凜lass * @param value 鍊� * @param defaultValue 榛樿鍊� @@ -631,7 +634,7 @@ /** * 杞崲涓篍num瀵硅薄<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> - * + * * @param clazz Enum鐨凜lass * @param value 鍊� * @return Enum @@ -645,7 +648,7 @@ * 杞崲涓築igInteger<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -683,7 +686,7 @@ * 杞崲涓築igInteger<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -696,7 +699,7 @@ * 杞崲涓築igDecimal<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊� * @return 缁撴灉 @@ -717,7 +720,7 @@ } if (value instanceof Double) { - return new BigDecimal((Double) value); + return BigDecimal.valueOf((Double) value); } if (value instanceof Integer) { @@ -742,7 +745,7 @@ * 杞崲涓築igDecimal<br> * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br> * 杞崲澶辫触涓嶄細鎶ラ敊 - * + * * @param value 琚浆鎹㈢殑鍊� * @return 缁撴灉 */ @@ -754,7 +757,7 @@ /** * 灏嗗璞¤浆涓哄瓧绗︿覆<br> * 1銆丅yte鏁扮粍鍜孊yteBuffer浼氳杞崲涓哄搴斿瓧绗︿覆鐨勬暟缁� 2銆佸璞℃暟缁勪細璋冪敤Arrays.toString鏂规硶 - * + * * @param obj 瀵硅薄 * @return 瀛楃涓� */ @@ -766,7 +769,7 @@ /** * 灏嗗璞¤浆涓哄瓧绗︿覆<br> * 1銆丅yte鏁扮粍鍜孊yteBuffer浼氳杞崲涓哄搴斿瓧绗︿覆鐨勬暟缁� 2銆佸璞℃暟缁勪細璋冪敤Arrays.toString鏂规硶 - * + * * @param obj 瀵硅薄 * @param charsetName 瀛楃闆� * @return 瀛楃涓� @@ -779,7 +782,7 @@ /** * 灏嗗璞¤浆涓哄瓧绗︿覆<br> * 1銆丅yte鏁扮粍鍜孊yteBuffer浼氳杞崲涓哄搴斿瓧绗︿覆鐨勬暟缁� 2銆佸璞℃暟缁勪細璋冪敤Arrays.toString鏂规硶 - * + * * @param obj 瀵硅薄 * @param charset 瀛楃闆� * @return 瀛楃涓� @@ -795,9 +798,14 @@ { return (String) obj; } - else if (obj instanceof byte[] || obj instanceof Byte[]) + else if (obj instanceof byte[]) { - return str((Byte[]) obj, charset); + return str((byte[]) obj, charset); + } + else if (obj instanceof Byte[]) + { + byte[] bytes = ArrayUtils.toPrimitive((Byte[]) obj); + return str(bytes, charset); } else if (obj instanceof ByteBuffer) { @@ -808,7 +816,7 @@ /** * 灏哹yte鏁扮粍杞负瀛楃涓� - * + * * @param bytes byte鏁扮粍 * @param charset 瀛楃闆� * @return 瀛楃涓� @@ -820,7 +828,7 @@ /** * 瑙g爜瀛楄妭鐮� - * + * * @param data 瀛楃涓� * @param charset 瀛楃闆嗭紝濡傛灉姝ゅ瓧娈典负绌猴紝鍒欒В鐮佺殑缁撴灉鍙栧喅浜庡钩鍙� * @return 瑙g爜鍚庣殑瀛楃涓� @@ -841,7 +849,7 @@ /** * 灏嗙紪鐮佺殑byteBuffer鏁版嵁杞崲涓哄瓧绗︿覆 - * + * * @param data 鏁版嵁 * @param charset 瀛楃闆嗭紝濡傛灉涓虹┖浣跨敤褰撳墠绯荤粺瀛楃闆� * @return 瀛楃涓� @@ -858,7 +866,7 @@ /** * 灏嗙紪鐮佺殑byteBuffer鏁版嵁杞崲涓哄瓧绗︿覆 - * + * * @param data 鏁版嵁 * @param charset 瀛楃闆嗭紝濡傛灉涓虹┖浣跨敤褰撳墠绯荤粺瀛楃闆� * @return 瀛楃涓� @@ -875,7 +883,7 @@ // ----------------------------------------------------------------------- 鍏ㄨ鍗婅杞崲 /** * 鍗婅杞叏瑙� - * + * * @param input String. * @return 鍏ㄨ瀛楃涓�. */ @@ -886,14 +894,14 @@ /** * 鍗婅杞叏瑙� - * + * * @param input String * @param notConvertSet 涓嶆浛鎹㈢殑瀛楃闆嗗悎 * @return 鍏ㄨ瀛楃涓�. */ public static String toSBC(String input, Set<Character> notConvertSet) { - char c[] = input.toCharArray(); + char[] c = input.toCharArray(); for (int i = 0; i < c.length; i++) { if (null != notConvertSet && notConvertSet.contains(c[i])) @@ -917,7 +925,7 @@ /** * 鍏ㄨ杞崐瑙� - * + * * @param input String. * @return 鍗婅瀛楃涓� */ @@ -928,14 +936,14 @@ /** * 鏇挎崲鍏ㄨ涓哄崐瑙� - * + * * @param text 鏂囨湰 * @param notConvertSet 涓嶆浛鎹㈢殑瀛楃闆嗗悎 * @return 鏇挎崲鍚庣殑瀛楃 */ public static String toDBC(String text, Set<Character> notConvertSet) { - char c[] = text.toCharArray(); + char[] c = text.toCharArray(); for (int i = 0; i < c.length; i++) { if (null != notConvertSet && notConvertSet.contains(c[i])) @@ -960,7 +968,7 @@ /** * 鏁板瓧閲戦澶у啓杞崲 鍏堝啓涓畬鏁寸殑鐒跺悗灏嗗闆舵嬀鏇挎崲鎴愰浂 - * + * * @param n 鏁板瓧 * @return 涓枃澶у啓鏁板瓧 */ @@ -976,7 +984,12 @@ String s = ""; for (int i = 0; i < fraction.length; i++) { - s += (digit[(int) (Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(闆�.)+", ""); + // 浼樺寲double璁$畻绮惧害涓㈠け闂 + BigDecimal nNum = new BigDecimal(n); + BigDecimal decimal = new BigDecimal(10); + BigDecimal scale = nNum.multiply(decimal).setScale(2, RoundingMode.HALF_EVEN); + double d = scale.doubleValue(); + s += (digit[(int) (Math.floor(d * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(闆�.)+", ""); } if (s.length() < 1) { -- Gitblit v1.9.3