zoukankan      html  css  js  c++  java
  • java Object转换成指定的类型

    java Object转换成指定的类型

     /**
         * Object转成指定的类型
         * @param obj
         * @param type
         * @param <T>
         * @return
         */
        public static<T> T convert(Object obj, Class<T> type) {
            if (obj != null && StringUtils.isNotBlank(obj.toString())) {
                if (type.equals(Integer.class)||type.equals(int.class)) {
                    return (T)new Integer(obj.toString());
                } else if (type.equals(Long.class)||type.equals(long.class)) {
                    return (T)new Long(obj.toString());
                } else if (type.equals(Boolean.class)||type.equals(boolean.class)) {
                    return (T) new Boolean(obj.toString());
                } else if (type.equals(Short.class)||type.equals(short.class)) {
                    return (T) new Short(obj.toString());
                } else if (type.equals(Float.class)||type.equals(float.class)) {
                    return (T) new Float(obj.toString());
                } else if (type.equals(Double.class)||type.equals(double.class)) {
                    return (T) new Double(obj.toString());
                } else if (type.equals(Byte.class)||type.equals(byte.class)) {
                    return (T) new Byte(obj.toString());
                } else if (type.equals(Character.class)||type.equals(char.class)) {
                    return (T)new Character(obj.toString().charAt(0));
                } else if (type.equals(String.class)) {
                    return (T) obj;
                } else if (type.equals(BigDecimal.class)) {
                    return (T) new BigDecimal(obj.toString());
                } else if (type.equals(LocalDateTime.class)) {
                    //DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
                    return (T) LocalDateTime.parse(obj.toString());
                } else if (type.equals(Date.class)) {
                    try
                    {
                        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
                        return (T) formatter.parse(obj.toString());
                    }
                    catch (ParseException e)
                    {
                       throw new RuntimeException(e.getMessage());
                    }
    
                }else{
                    return null;
                }
            } else {
                if (type.equals(int.class)) {
                    return (T)new Integer(0);
                } else if (type.equals(long.class)) {
                    return (T)new Long(0L);
                } else if (type.equals(boolean.class)) {
                    return (T)new Boolean(false);
                } else if (type.equals(short.class)) {
                    return (T)new Short("0");
                } else if (type.equals(float.class)) {
                    return (T) new Float(0.0);
                } else if (type.equals(double.class)) {
                    return (T) new Double(0.0);
                } else if (type.equals(byte.class)) {
                    return (T) new Byte("0");
                } else if (type.equals(char.class)) {
                    return (T) new Character('u0000');
                }else {
                    return null;
                }
            }
        }
  • 相关阅读:
    SpringCloud简介及使用
    容器云技术选择之kubernetes和swarm对比
    LXC简单介绍与使用
    go recover让崩溃的程序继续执行
    dbeaver可视化工具-连接clickhouse
    JavaScript异步与Promise基本用法(resolve与reject)
    通过mysql操作clickhouse
    clickhouse客户端使用
    clickhouse安装数据导入及查询测试
    spring boot druid数据源
  • 原文地址:https://www.cnblogs.com/puke/p/7228460.html
Copyright © 2011-2022 走看看