类 Convert


  • public class Convert
    extends cn.hutool.core.convert.Convert
    从以下版本开始:
    2019年7月23日
    作者:
    孙金川
    • 构造器概要

      构造器 
      构造器 说明
      Convert()  
    • 方法概要

      所有方法 静态方法 具体方法 已过时的方法 
      修饰符和类型 方法 说明
      static <T> T convert​(cn.hutool.core.lang.TypeReference<T> reference, java.lang.Object value)
      转换值为指定类型
      static <T> T convert​(java.lang.Class<T> type, java.lang.Object value)
      已过时。
      static <T> T convert​(java.lang.Class<T> type, java.lang.Object value, T defaultValue)
      转换值为指定类型
      static <T> T convert​(java.lang.Object value, java.lang.Class<T> clazz)
      转换值为指定类型 (推荐)
      static <T> T convert​(java.lang.reflect.Type type, java.lang.Object value)
      转换值为指定类型
      static <T> T convert​(java.lang.reflect.Type type, java.lang.Object value, T defaultValue)
      转换值为指定类型
      static <T> T convertByClassName​(java.lang.String className, java.lang.Object value)
      转换值为指定类型,类型采用字符串表示
      static <T> T convertQuietly​(java.lang.reflect.Type type, java.lang.Object value)
      转换值为指定类型,不抛异常转换
      当转换失败时返回null
      static <T> T convertQuietly​(java.lang.reflect.Type type, java.lang.Object value, T defaultValue)
      转换值为指定类型,不抛异常转换
      当转换失败时返回默认值
      static <T> T toJavaBean​(java.lang.Object value, java.lang.Class<T> clazz)
      转换值为指定 POJO 类型
      static com.alibaba.fastjson.JSONArray toJSONArray​(java.lang.Object value)
      转换为 JSONArray
      static java.util.List<com.alibaba.fastjson.JSONObject> toJsonList​(com.alibaba.fastjson.JSONArray jsonArray)
      JSONArray 转 List - JSONObject
      static java.util.List<com.alibaba.fastjson.JSONObject> toJsonList​(java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> list)
      List - Map 转 List - JSONObject
      static <T> java.util.List<com.alibaba.fastjson.JSONObject> toJsonListT​(java.util.List<T> list)
      List - Class 转 List - JSONObject
      static com.alibaba.fastjson.JSONObject toJSONObject​(java.lang.Object value)
      转换为 JSONObject
      static com.alibaba.fastjson.JSONObject[] toJsons​(com.alibaba.fastjson.JSONArray jsonArray)
      JSONArray 转 JSONObject[]
      static com.alibaba.fastjson.JSONObject[] toJsons​(java.lang.String jsonString)
      String 转 JSONObject[]
      static com.alibaba.fastjson.JSONObject[] toJsons​(java.lang.String text, java.lang.String regex, java.lang.String key)
      String 转 JSONObject[] 示例:
      static com.alibaba.fastjson.JSONObject[] toJsons​(java.util.List<com.alibaba.fastjson.JSONObject> list)
      List-JSONObject 转 JSONObject[]
      static <T> com.alibaba.fastjson.JSONObject[] toJsonsT​(java.util.List<T> list)
      List - Class 转 JSONObject[]
      static <T> com.alibaba.fastjson.JSONObject[] toJsonsTAndRemoveEmpty​(java.util.List<T> list)
      List - Class 转 JSONObject[] 并移除空对象
      static <T> java.util.List<T> toList​(java.util.List<com.alibaba.fastjson.JSONObject> list, java.lang.Class<T> clazz)
      List-JSONObject 转 List-Class
      static java.util.List<java.lang.String> toList​(java.util.List<com.alibaba.fastjson.JSONObject> list, java.lang.String keepKey)
      List-JSONObject 转 List-String
      static <T> java.util.List<T> toList​(java.util.List<com.alibaba.fastjson.JSONObject> list, java.lang.String keepKey, java.lang.Class<T> clazz)
      List-JSONObject 转 List-Class
      static <T> java.util.ArrayList<T> toList​(T[] array)
      数组转List
      static java.util.List<java.lang.String> toListAndDistinct​(java.util.List<com.alibaba.fastjson.JSONObject> list, java.lang.String keepKey)
      List - JSONObject 转 List - String并去除重复元素
      static <T> java.util.List<T> toListAndDistinct​(java.util.List<com.alibaba.fastjson.JSONObject> list, java.lang.String keepKey, java.lang.Class<T> clazz)
      List-JSONObject 转 List-Class并去除重复元素
      static <T> T toObject​(java.lang.Object value, java.lang.Class<T> clazz)
      转换值为指定类型
      • 从类继承的方法 cn.hutool.core.convert.Convert

        bytesToInt, bytesToLong, bytesToShort, byteToUnsignedInt, convertCharset, convertTime, digitToChinese, hexStrToStr, hexToBytes, hexToStr, intToByte, intToBytes, longToBytes, numberToChinese, numberToWord, shortToBytes, strToUnicode, toBigDecimal, toBigDecimal, toBigInteger, toBigInteger, toBool, toBool, toBooleanArray, toByte, toByte, toByteArray, toChar, toChar, toCharArray, toCollection, toDate, toDate, toDBC, toDBC, toDouble, toDouble, toDoubleArray, toEnum, toEnum, toFloat, toFloat, toFloatArray, toHex, toHex, toInt, toInt, toIntArray, toList, toList, toLong, toLong, toLongArray, toNumber, toNumber, toNumberArray, toSBC, toSBC, toShort, toShort, toShortArray, toStr, toStr, toStrArray, unicodeToStr, unWrap, wrap
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 构造器详细资料

      • Convert

        public Convert()
    • 方法详细资料

      • convertByClassName

        public static <T> T convertByClassName​(java.lang.String className,
                                               java.lang.Object value)
                                        throws cn.hutool.core.convert.ConvertException
        转换值为指定类型,类型采用字符串表示
        类型参数:
        T - 目标类型
        参数:
        className - 类的字符串表示
        value - 值
        返回:
        转换后的值
        抛出:
        cn.hutool.core.convert.ConvertException - 转换器不存在
      • convert

        @Deprecated
        public static <T> T convert​(java.lang.Class<T> type,
                                    java.lang.Object value)
                             throws cn.hutool.core.convert.ConvertException
        已过时。
        转换值为指定类型
        类型参数:
        T - 目标类型
        参数:
        type - 类型
        value - 值
        返回:
        转换后的值
        抛出:
        cn.hutool.core.convert.ConvertException - 转换器不存在
      • convert

        public static <T> T convert​(cn.hutool.core.lang.TypeReference<T> reference,
                                    java.lang.Object value)
                             throws cn.hutool.core.convert.ConvertException
        转换值为指定类型
        类型参数:
        T - 目标类型
        参数:
        reference - 类型参考,用于持有转换后的泛型类型
        value - 值
        返回:
        转换后的值
        抛出:
        cn.hutool.core.convert.ConvertException - 转换器不存在
      • convert

        public static <T> T convert​(java.lang.reflect.Type type,
                                    java.lang.Object value)
                             throws cn.hutool.core.convert.ConvertException
        转换值为指定类型
        类型参数:
        T - 目标类型
        参数:
        type - 类型
        value - 值
        返回:
        转换后的值
        抛出:
        cn.hutool.core.convert.ConvertException - 转换器不存在
      • convert

        public static <T> T convert​(java.lang.Class<T> type,
                                    java.lang.Object value,
                                    T defaultValue)
                             throws cn.hutool.core.convert.ConvertException
        转换值为指定类型
        类型参数:
        T - 目标类型
        参数:
        type - 类型
        value - 值
        defaultValue - 默认值
        返回:
        转换后的值
        抛出:
        cn.hutool.core.convert.ConvertException - 转换器不存在
      • convert

        public static <T> T convert​(java.lang.reflect.Type type,
                                    java.lang.Object value,
                                    T defaultValue)
                             throws cn.hutool.core.convert.ConvertException
        转换值为指定类型
        类型参数:
        T - 目标类型
        参数:
        type - 类型
        value - 值
        defaultValue - 默认值
        返回:
        转换后的值
        抛出:
        cn.hutool.core.convert.ConvertException - 转换器不存在
      • convertQuietly

        public static <T> T convertQuietly​(java.lang.reflect.Type type,
                                           java.lang.Object value)
        转换值为指定类型,不抛异常转换
        当转换失败时返回null
        类型参数:
        T - 目标类型
        参数:
        type - 目标类型
        value - 值
        返回:
        转换后的值,转换失败返回null
      • convertQuietly

        public static <T> T convertQuietly​(java.lang.reflect.Type type,
                                           java.lang.Object value,
                                           T defaultValue)
        转换值为指定类型,不抛异常转换
        当转换失败时返回默认值
        类型参数:
        T - 目标类型
        参数:
        type - 目标类型
        value - 值
        defaultValue - 默认值
        返回:
        转换后的值
      • convert

        public static <T> T convert​(java.lang.Object value,
                                    java.lang.Class<T> clazz)
        转换值为指定类型 (推荐)
        类型参数:
        T - 泛型
        参数:
        value - 被转换的值
        clazz - 泛型类型
        返回:
        转换后的对象
        从以下版本开始:
        Greenwich.SR1.2
        另请参阅:
        toObject(Object, Class)
      • toObject

        public static <T> T toObject​(java.lang.Object value,
                                     java.lang.Class<T> clazz)
        转换值为指定类型
        类型参数:
        T - 泛型
        参数:
        value - 被转换的值
        clazz - 泛型类型
        返回:
        转换后的对象
      • toJavaBean

        public static <T> T toJavaBean​(java.lang.Object value,
                                       java.lang.Class<T> clazz)
        转换值为指定 POJO 类型
        类型参数:
        T - 泛型
        参数:
        value - 被转换的值
        clazz - 泛型类型
        返回:
        转换后的POJO
      • toJSONObject

        public static com.alibaba.fastjson.JSONObject toJSONObject​(java.lang.Object value)
        转换为 JSONObject
        参数:
        value - 被转换的值
        返回:
        JSON
      • toJSONArray

        public static com.alibaba.fastjson.JSONArray toJSONArray​(java.lang.Object value)
        转换为 JSONArray
        参数:
        value - 被转换的值
        返回:
        JSON数组
      • toList

        public static <T> java.util.ArrayList<T> toList​(T[] array)
        数组转List

        此方法为 Arrays.asList(Object...) 的安全实现

        类型参数:
        T - 数组中的对象类
        参数:
        array - 将被转换的数组
        返回:
        被转换数组的列表视图
        另请参阅:
        ListUtils.toList(Object[])
      • toList

        public static <T> java.util.List<T> toList​(java.util.List<com.alibaba.fastjson.JSONObject> list,
                                                   java.lang.Class<T> clazz)
        List-JSONObject 转 List-Class
        类型参数:
        T - 泛型
        参数:
        list - 需要转换的List
        clazz - json转换的POJO类型
        返回:
        转换后的List
        另请参阅:
        ListUtils.toList(List, Class)
      • toList

        public static java.util.List<java.lang.String> toList​(java.util.List<com.alibaba.fastjson.JSONObject> list,
                                                              java.lang.String keepKey)
        List-JSONObject 转 List-String
        参数:
        list - 需要转换的List
        keepKey - 保留值的key
        返回:
        转换后的List
        另请参阅:
        ListUtils.toList(List, String)
      • toList

        public static <T> java.util.List<T> toList​(java.util.List<com.alibaba.fastjson.JSONObject> list,
                                                   java.lang.String keepKey,
                                                   java.lang.Class<T> clazz)
        List-JSONObject 转 List-Class
        类型参数:
        T - 泛型
        参数:
        list - 需要转换的List
        keepKey - 保留值的key
        clazz - 类型
        返回:
        转换后的List
        另请参阅:
        ListUtils.toList(List, String, Class)
      • toListAndDistinct

        public static java.util.List<java.lang.String> toListAndDistinct​(java.util.List<com.alibaba.fastjson.JSONObject> list,
                                                                         java.lang.String keepKey)
        List - JSONObject 转 List - String并去除重复元素
        参数:
        list - 需要转换的List
        keepKey - 保留值的key
        返回:
        处理后的List
        另请参阅:
        ListUtils.toListAndDistinct(List, String)
      • toListAndDistinct

        public static <T> java.util.List<T> toListAndDistinct​(java.util.List<com.alibaba.fastjson.JSONObject> list,
                                                              java.lang.String keepKey,
                                                              java.lang.Class<T> clazz)
        List-JSONObject 转 List-Class并去除重复元素
        类型参数:
        T - 泛型
        参数:
        list - 需要转换的List
        keepKey - 保留值的key
        clazz - 类型
        返回:
        处理后的List
        另请参阅:
        ListUtils.toListAndDistinct(List, String, Class)
      • toJsonList

        public static java.util.List<com.alibaba.fastjson.JSONObject> toJsonList​(java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> list)
        List - Map 转 List - JSONObject

        性能测试说明:
        测试CPU:i7-4710MQ
        测试结果:百万级数据平均200ms(毫秒)

        参数:
        list - 需要转换的List
        返回:
        转换后的List
        另请参阅:
        ListUtils.toJsonList(List)
      • toJsonList

        public static java.util.List<com.alibaba.fastjson.JSONObject> toJsonList​(com.alibaba.fastjson.JSONArray jsonArray)
        JSONArray 转 List - JSONObject

        性能测试报告:
        无类型转换(类型推断):toJsonList(List)
        安全模式强制类型转换:暂未测试

        参数:
        jsonArray - 需要转换的JSONArray
        返回:
        转换后的jsonList
        另请参阅:
        ListUtils.toJsonList(JSONArray)
      • toJsonListT

        public static <T> java.util.List<com.alibaba.fastjson.JSONObject> toJsonListT​(java.util.List<T> list)
        List - Class 转 List - JSONObject

        性能测试报告:
        安全模式强制类型转换:暂未测试

        类型参数:
        T - 泛型
        参数:
        list - 需要转换的List
        返回:
        转换后的jsonList
        另请参阅:
        ListUtils.toJsonListT(List)
      • toJsons

        public static com.alibaba.fastjson.JSONObject[] toJsons​(com.alibaba.fastjson.JSONArray jsonArray)
        JSONArray 转 JSONObject[]

        对象引用转换,内存指针依旧指向元数据

        参数:
        jsonArray - 需要转换的JSONArray
        返回:
        转换后的jsons
        另请参阅:
        ListUtils.toJsons(JSONArray)
      • toJsons

        public static com.alibaba.fastjson.JSONObject[] toJsons​(java.util.List<com.alibaba.fastjson.JSONObject> list)
        List-JSONObject 转 JSONObject[]

        对象引用转换,内存指针依旧指向元数据

        参数:
        list - 需要转换的List
        返回:
        转换后的jsons
        另请参阅:
        ListUtils.toJsons(List)
      • toJsonsT

        public static <T> com.alibaba.fastjson.JSONObject[] toJsonsT​(java.util.List<T> list)
        List - Class 转 JSONObject[]

        性能测试报告:
        安全模式强制类型转换:暂未测试

        类型参数:
        T - 泛型
        参数:
        list - 需要转换的List
        返回:
        转换后的jsons
        另请参阅:
        ListUtils.toJsonsT(List)
      • toJsonsTAndRemoveEmpty

        public static <T> com.alibaba.fastjson.JSONObject[] toJsonsTAndRemoveEmpty​(java.util.List<T> list)
        List - Class 转 JSONObject[] 并移除空对象

        性能测试报告:
        安全模式强制类型转换:暂未测试

        类型参数:
        T - 泛型
        参数:
        list - 需要转换的List
        返回:
        转换后的jsons
        另请参阅:
        ListUtils.toJsonsTAndRemoveEmpty(List)
      • toJsons

        public static com.alibaba.fastjson.JSONObject[] toJsons​(java.lang.String jsonString)
        String 转 JSONObject[]
        参数:
        jsonString - 需要转换的JSON字符串
        返回:
        JSON数组
        另请参阅:
        ListUtils.toJsons(String)
      • toJsons

        public static com.alibaba.fastjson.JSONObject[] toJsons​(java.lang.String text,
                                                                java.lang.String regex,
                                                                java.lang.String key)
        String 转 JSONObject[]
        示例:
                
         		String text = "1,3,5,9";
         		JSONObject[] jsons = toJsons(text, ",", "id");
         		System.out.println(Arrays.toString(jsons));
         
         
        结果: [{"id":"1"}, {"id":"3"}, {"id":"5"}, {"id":"9"}]
        参数:
        text - 需要转换的文本
        regex - 文本分割表达式,同String类的split()方法
        key - JSON的key名称
        返回:
        转换后的jsons
        另请参阅:
        ListUtils.toJsons(String, String, String)