有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

仅从java中运行时调用的方法提取对象数据

我的运行时可执行类和方法

public class RCCustomer {
    public static Map<String, Object> getCommission(Map<String, Object> obj) {

       obj.put("commissionType", "vip");
       obj.put("commissionAmt", 50);

       return obj;
    }
}

来自

Class<?> c = Class.forName("softbliss.framework.Routines.RCCustomer");
Method m = c.getDeclaredMethod("getCommission", Map.class);
Object i = c.getConstructor().newInstance();
returnObject = m.invoke(i, obj);

我的输出是

{org.springframework.validation.BindingResult.map=org.springframework.validation.BeanPropertyBindingResult: 0 errors, commissionType=vip, commissionAmt=50}

但我只需要返回对象的键和值,如下所示 {commissionType=vip,CommissionMT=50}

我怎么得到这个


共 (1) 个答案

  1. # 1 楼答案

    我的不是所有这些。我不太确定剩下的是从哪里来的。考虑重写RCuths

    中的ToStand方法
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.HashMap;
    import java.util.Map;
    
    public class Main {
        public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
            Class<?> c = Class.forName("com.company.Scratch.RCCustomer");
            Method m = c.getDeclaredMethod("getCommission",Map.class);
            Object i = c.getConstructor().newInstance();
            HashMap h = new HashMap<String, Object>();
            Object returnObject = m.invoke(i, h);
            System.out.println(returnObject.toString());
        }
    }
    

    输出:

    {commissionAmt=50, commissionType=vip}
    
    Process finished with exit code 0