java反射通用类 - 调用实体类set及get方法

package com.ieslab.wechatapp.util;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * @description: 反射通用类
 * @author: yiwenli
 * @create: 2021-03-25 15:19
 **/
public class BeanRefUtil {
   
   

    private static final Logger LOGGER = LoggerFactory.getLogger(BeanRefUtil.class);

    public static void main(String[] args) {
   
   
        List<Map<String, String>> list = new ArrayList<>();
        list.add(new HashMap<String, String>() {
   
   {
   
   
            put("TIME", "2020-12-22 00:11:11");
            put("VALUE", "12345.45");
            put("TESTBOOLEAN1", "true");
            put("TESTBOOLEAN2", "false");
        }});
        list.add(new HashMap<String, String>() {
   
   {
   
   
            put("TIME", "2020-12-22 00:12:11");
            put("VALUE", "12222.45");
            put("TESTBOOLEAN1", "false");
            put("TESTBOOLEAN2", "true");
        }});

        List<TestObject> result = new ArrayList<>();
        setFieldValue(TestObject.class, list, result);

        Map<String, String> tempMap = getFieldValueMap(result.get(0));
        System.out.println(11);
    }
    
	/**
     * 比较另一个对象和当前对象的值
     *
     * @param obj  对象1
     * @param obj2 对象2
     */
    public static Boolean equals(Object obj, Object obj2) {
   
   
        if(obj == null && obj2 == null) {
   
   
            return true;
        } else if(obj == null || obj2 == null) {
   
   
            return false;
        }

        Class<?> clazz = obj.getClass();
        Class<?> clazz2 = obj2.getClass();

        // 俩对象类名不一样
        if(!clazz.getName().equals(clazz2.getName())) {
   
   
            return false;
        }

        // 获取所有方法
        Method[] methods = clazz.getDeclaredMethods();
        // 获取所有属性
        Field[] fields = clazz.getDeclaredFields();

        for(Field field: fields) {
   
   
            try {
   
   
                String fieldName = field.getName();
                String fieldType = field.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值