From 8c0259ceca0159879b497e5bd446776d96862f1e Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期四, 10 六月 2021 10:56:07 +0800
Subject: [PATCH] 区分Byte[]类型防止出现死循环

---
 src/main/java/com/ruoyi/common/core/text/Convert.java |  100 ++++++++++++++++++++++++++-----------------------
 1 files changed, 53 insertions(+), 47 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..515cf0b 100644
--- a/src/main/java/com/ruoyi/common/core/text/Convert.java
+++ b/src/main/java/com/ruoyi/common/core/text/Convert.java
@@ -7,10 +7,11 @@
 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 +20,7 @@
      * 杞崲涓哄瓧绗︿覆<br>
      * 濡傛灉缁欏畾鐨勫�间负null锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -41,7 +42,7 @@
      * 杞崲涓哄瓧绗︿覆<br>
      * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -54,7 +55,7 @@
      * 杞崲涓哄瓧绗�<br>
      * 濡傛灉缁欏畾鐨勫�间负null锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -78,7 +79,7 @@
      * 杞崲涓哄瓧绗�<br>
      * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -91,7 +92,7 @@
      * 杞崲涓篵yte<br>
      * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -129,7 +130,7 @@
      * 杞崲涓篵yte<br>
      * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -142,7 +143,7 @@
      * 杞崲涓篠hort<br>
      * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -180,7 +181,7 @@
      * 杞崲涓篠hort<br>
      * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -193,7 +194,7 @@
      * 杞崲涓篘umber<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -227,7 +228,7 @@
      * 杞崲涓篘umber<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -240,7 +241,7 @@
      * 杞崲涓篿nt<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -278,7 +279,7 @@
      * 杞崲涓篿nt<br>
      * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -289,7 +290,7 @@
 
     /**
      * 杞崲涓篒nteger鏁扮粍<br>
-     * 
+     *
      * @param str 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -300,7 +301,7 @@
 
     /**
      * 杞崲涓篖ong鏁扮粍<br>
-     * 
+     *
      * @param str 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -311,7 +312,7 @@
 
     /**
      * 杞崲涓篒nteger鏁扮粍<br>
-     * 
+     *
      * @param split 鍒嗛殧绗�
      * @param split 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
@@ -334,7 +335,7 @@
 
     /**
      * 杞崲涓篖ong鏁扮粍<br>
-     * 
+     *
      * @param split 鍒嗛殧绗�
      * @param str 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
@@ -357,7 +358,7 @@
 
     /**
      * 杞崲涓篠tring鏁扮粍<br>
-     * 
+     *
      * @param str 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -368,7 +369,7 @@
 
     /**
      * 杞崲涓篠tring鏁扮粍<br>
-     * 
+     *
      * @param split 鍒嗛殧绗�
      * @param split 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
@@ -382,7 +383,7 @@
      * 杞崲涓簂ong<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -421,7 +422,7 @@
      * 杞崲涓簂ong<br>
      * 濡傛灉缁欏畾鐨勫�间负<code>null</code>锛屾垨鑰呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -434,7 +435,7 @@
      * 杞崲涓篸ouble<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -473,7 +474,7 @@
      * 杞崲涓篸ouble<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -486,7 +487,7 @@
      * 杞崲涓篎loat<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -524,7 +525,7 @@
      * 杞崲涓篎loat<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -537,7 +538,7 @@
      * 杞崲涓篵oolean<br>
      * String鏀寔鐨勫�间负锛歵rue銆乫alse銆亂es銆乷k銆乶o锛�1,0 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -583,7 +584,7 @@
      * 杞崲涓篵oolean<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -595,7 +596,7 @@
     /**
      * 杞崲涓篍num瀵硅薄<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
-     * 
+     *
      * @param clazz Enum鐨凜lass
      * @param value 鍊�
      * @param defaultValue 榛樿鍊�
@@ -631,7 +632,7 @@
     /**
      * 杞崲涓篍num瀵硅薄<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
-     * 
+     *
      * @param clazz Enum鐨凜lass
      * @param value 鍊�
      * @return Enum
@@ -645,7 +646,7 @@
      * 杞崲涓築igInteger<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -683,7 +684,7 @@
      * 杞崲涓築igInteger<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<code>null</code><br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -696,7 +697,7 @@
      * 杞崲涓築igDecimal<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @param defaultValue 杞崲閿欒鏃剁殑榛樿鍊�
      * @return 缁撴灉
@@ -742,7 +743,7 @@
      * 杞崲涓築igDecimal<br>
      * 濡傛灉缁欏畾鐨勫�间负绌猴紝鎴栬�呰浆鎹㈠け璐ワ紝杩斿洖榛樿鍊�<br>
      * 杞崲澶辫触涓嶄細鎶ラ敊
-     * 
+     *
      * @param value 琚浆鎹㈢殑鍊�
      * @return 缁撴灉
      */
@@ -754,7 +755,7 @@
     /**
      * 灏嗗璞¤浆涓哄瓧绗︿覆<br>
      * 1銆丅yte鏁扮粍鍜孊yteBuffer浼氳杞崲涓哄搴斿瓧绗︿覆鐨勬暟缁� 2銆佸璞℃暟缁勪細璋冪敤Arrays.toString鏂规硶
-     * 
+     *
      * @param obj 瀵硅薄
      * @return 瀛楃涓�
      */
@@ -766,7 +767,7 @@
     /**
      * 灏嗗璞¤浆涓哄瓧绗︿覆<br>
      * 1銆丅yte鏁扮粍鍜孊yteBuffer浼氳杞崲涓哄搴斿瓧绗︿覆鐨勬暟缁� 2銆佸璞℃暟缁勪細璋冪敤Arrays.toString鏂规硶
-     * 
+     *
      * @param obj 瀵硅薄
      * @param charsetName 瀛楃闆�
      * @return 瀛楃涓�
@@ -779,7 +780,7 @@
     /**
      * 灏嗗璞¤浆涓哄瓧绗︿覆<br>
      * 1銆丅yte鏁扮粍鍜孊yteBuffer浼氳杞崲涓哄搴斿瓧绗︿覆鐨勬暟缁� 2銆佸璞℃暟缁勪細璋冪敤Arrays.toString鏂规硶
-     * 
+     *
      * @param obj 瀵硅薄
      * @param charset 瀛楃闆�
      * @return 瀛楃涓�
@@ -795,9 +796,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 +814,7 @@
 
     /**
      * 灏哹yte鏁扮粍杞负瀛楃涓�
-     * 
+     *
      * @param bytes byte鏁扮粍
      * @param charset 瀛楃闆�
      * @return 瀛楃涓�
@@ -820,7 +826,7 @@
 
     /**
      * 瑙g爜瀛楄妭鐮�
-     * 
+     *
      * @param data 瀛楃涓�
      * @param charset 瀛楃闆嗭紝濡傛灉姝ゅ瓧娈典负绌猴紝鍒欒В鐮佺殑缁撴灉鍙栧喅浜庡钩鍙�
      * @return 瑙g爜鍚庣殑瀛楃涓�
@@ -841,7 +847,7 @@
 
     /**
      * 灏嗙紪鐮佺殑byteBuffer鏁版嵁杞崲涓哄瓧绗︿覆
-     * 
+     *
      * @param data 鏁版嵁
      * @param charset 瀛楃闆嗭紝濡傛灉涓虹┖浣跨敤褰撳墠绯荤粺瀛楃闆�
      * @return 瀛楃涓�
@@ -858,7 +864,7 @@
 
     /**
      * 灏嗙紪鐮佺殑byteBuffer鏁版嵁杞崲涓哄瓧绗︿覆
-     * 
+     *
      * @param data 鏁版嵁
      * @param charset 瀛楃闆嗭紝濡傛灉涓虹┖浣跨敤褰撳墠绯荤粺瀛楃闆�
      * @return 瀛楃涓�
@@ -875,7 +881,7 @@
     // ----------------------------------------------------------------------- 鍏ㄨ鍗婅杞崲
     /**
      * 鍗婅杞叏瑙�
-     * 
+     *
      * @param input String.
      * @return 鍏ㄨ瀛楃涓�.
      */
@@ -886,7 +892,7 @@
 
     /**
      * 鍗婅杞叏瑙�
-     * 
+     *
      * @param input String
      * @param notConvertSet 涓嶆浛鎹㈢殑瀛楃闆嗗悎
      * @return 鍏ㄨ瀛楃涓�.
@@ -917,7 +923,7 @@
 
     /**
      * 鍏ㄨ杞崐瑙�
-     * 
+     *
      * @param input String.
      * @return 鍗婅瀛楃涓�
      */
@@ -928,7 +934,7 @@
 
     /**
      * 鏇挎崲鍏ㄨ涓哄崐瑙�
-     * 
+     *
      * @param text 鏂囨湰
      * @param notConvertSet 涓嶆浛鎹㈢殑瀛楃闆嗗悎
      * @return 鏇挎崲鍚庣殑瀛楃
@@ -960,7 +966,7 @@
 
     /**
      * 鏁板瓧閲戦澶у啓杞崲 鍏堝啓涓畬鏁寸殑鐒跺悗灏嗗闆舵嬀鏇挎崲鎴愰浂
-     * 
+     *
      * @param n 鏁板瓧
      * @return 涓枃澶у啓鏁板瓧
      */

--
Gitblit v1.9.3