class.forname都能获取哪些东西

想利用反射获得class中,属性,以及方法的返回值类型,来判断是不是bigdecimal类型

回答不易,求求您采纳点赞哦

  • Class.forName(String name)是Java中的一种方法,用于按名称动态加载类。它返回一个 Class 对象,该对象可用于获取有关加载的类的信息,例如其返回值类型、属性和方法。您可以在 Class 对象上使用getMethod(String name, Class<?>... parameterTypes)orgetMethods()方法来获取有关类方法的信息,包括返回类型。同样,您可以使用getDeclaredField(String name)orgetDeclaredFields()方法获取有关类属性的信息,并使用getType()返回的 Field 对象上的方法获取属性的类型。

  • 也可以使用class.getDeclaredMethod(),class.getMethod()获取类的方法,使用Method.getReturnType()获取方法的返回类型。

  • 您将需要遍历返回的数组并检查返回类型、字段和方法,并检查它们是否属于类型BigDecimal。

”反射获得class中,属性,以及方法的返回值类型,来判断是不是bigdecimal类型“ ——可以参考这样写

public class Test {

    private BigDecimal num;

    public BigDecimal getNum() {
        return num;
    }

    public static void main(String[] args) throws Exception {
        Class clazz = Class.forName("test.Test");
        Field numField = clazz.getDeclaredField("num");
        System.out.println("num字段是否BigDecimal类型:" + ClassUtils.isAssignable(numField.getType(), BigDecimal.class));
        Method getNumMethod = clazz.getDeclaredMethod("getNum");
        System.out.println("getNum返回是否BigDecimal类型:" + ClassUtils.isAssignable(getNumMethod.getReturnType(), BigDecimal.class));
    }
}

反射还可以做的很多事情,网上资料很多,可以找一些看一下。
望采纳。