zoukankan      html  css  js  c++  java
  • java循环遍历类属性 get 和set值方法

    //遍历sqspb类 成员为String类型 属性为空的全部替换为“/”
    Field[] fields = sqspb.getClass().getDeclaredFields();
    for (int i = 0; i < fields.length; i++) {
    // 获取属性的名字
    String name = fields[i].getName();
    // 将属性的首字符大写,方便构造get,set方法
    name = name.substring(0, 1).toUpperCase() + name.substring(1);
    // 获取属性的类型
    String type = fields[i].getGenericType().toString();
    // 如果type是类类型,则前面包含"class ",后面跟类名
    if (type.equals("class java.lang.String")) {
    Method m = sqspb.getClass().getMethod("get" + name);
    // 调用getter方法获取属性值
    String value = (String) m.invoke(sqspb);
    System.out.println("数据类型为:String");
    if (value == null || value.equals("")) {
    //set值
    Class[] parameterTypes = new Class[1];
    parameterTypes[0] = fields[i].getType();
    m = sqspb.getClass().getMethod("set" + name, parameterTypes);
    String string = new String("/");
    Object[] objects = new Object[1];
    objects[0] = string;
    m.invoke(sqspb, objects);
    }
    }
    }
  • 相关阅读:
    kubernetes
    dubbo
    前端控件+资源
    Gossip
    问题解决1
    react
    impala
    storm+Calcite
    ASP.NET页面传值与跳转
    经典FormsAuthenticationTicket 分析
  • 原文地址:https://www.cnblogs.com/leirenyuan/p/6232011.html
Copyright © 2011-2022 走看看