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