zoukankan      html  css  js  c++  java
  • java工具类

    忽略两个对象之间变量名称大小写不同(这里的对象是由String转成String和LocalDateTime类型)

     public <T> T transferObjectIgnoreCase(Object obj, Class clz) {
            T result = null;
            try {
                if (obj != null && !obj.equals("")) {
                    result = (T) clz.newInstance();
                    //获取目标类的属性集合
                    Map<String, Field> destPropertyMap = new HashMap<>();
                    for (Field curField : clz.getDeclaredFields()) {
                        destPropertyMap.put(curField.getName().toLowerCase(), curField);
                    }
                    //拷贝属性
                    for (Field curField : obj.getClass().getDeclaredFields()) {
                        Field targetField = destPropertyMap.get(curField.getName().toLowerCase());
                        if (targetField != null) {
                            targetField.setAccessible(true);
                            curField.setAccessible(true);
                            if (targetField.getType() == String.class) {
                                targetField.set(result, curField.get(obj));
                            } else if (targetField.getType() == LocalDateTime.class) {
                                if(curField.get(obj)!=null){
                                    targetField.set(result, DateUtil.setValueForTime(curField.get(obj).toString()));
                                }
                            }
    
                        }
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
        }
    

    特殊的时间转化(字符串转LocalDateTime) 例如:String str = "5/2/2017 4:48:49 PM";

     /**
         * 修改时间类型
         *
         * @param time
         * @return
         */
        public static LocalDateTime setValueForTime(String time) {
            Date date = stringToDate(time);
            LocalDateTime localDateTime = LocalDateTimeUtils.parseDataToLocalDateTime(date);
            return localDateTime;
        }
    
    
        /**
         * 设置字符串转Date
         *
         * @param time
         * @return
         */
        public static Date stringToDate(String time) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss z");;
            time = time.trim();
            if ((time.indexOf("/") > -1) && (time.indexOf("AM") > -1) || (time.indexOf("PM") > -1)) {
                formatter = new SimpleDateFormat("MM/dd/yyyy KK:mm:ss a", Locale.ENGLISH);
            }
            ParsePosition pos = new ParsePosition(0);
            java.util.Date ctime = formatter.parse(time, pos);
            return ctime;
        }
    
  • 相关阅读:
    HBase-MapReduce
    HBase API 操 作
    HBase-Shell-数据结构-原理
    HBase-简介-安装配置
    Kafka 与 Flume
    kafka-Streams
    Kafka-producer拦截器(interceptor)
    Kafka-API
    Kafka-工作流程分析
    day06 Java面向对象
  • 原文地址:https://www.cnblogs.com/snail-gao/p/12757888.html
Copyright © 2011-2022 走看看