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);
}
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM