反射獲取物件例項的欄位資訊和欄位值
package bea.com.util;
import java.lang.reflect.Field;
public class reflectUtil {
/**
* 反射輸出欄位型別的值
* @param obj
*/
public static void reflect(Object obj) {
if (obj == null) return;
Field[] fields = obj.getClass().getDeclaredFields();
for (int j = 0 ; j < fields.length; j++) {
fields[j].setAccessible(true);
// 欄位名
System.out.print(fields[j].getName() + ",");
// 欄位值
if (fields[j].getType().getName().equals(
java.lang.String.class.getName())) {
// String type
try {
System.out.print(fields[j].get(obj));
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if (fields[j].getType().getName().equals(
java.lang.Integer.class.getName())
|| fields[j].getType().getName().equals("int")) {
// Integer type
try {
System.out.println(fields[j].getInt(obj));
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 其他型別。。。
}
System.out.println();
}
/**
* 反射獲取物件的Id
* @param obj
* @return
*/
public static Integer getIdByreflect(Object obj) {
if (obj == null)
return null;
Field[] fields = obj.getClass().getDeclaredFields();
for (int j = 0; j < fields.length; j++) {
fields[j].setAccessible(true);
// 欄位名
System.out.print(fields[j].getName() + ",");
// 欄位值
if ( (fields[j].getType().getName().equals(
java.lang.Integer.class.getName())
|| fields[j].getType().getName().equals("int")) && fields[j].getName()=="id") {
try {
return fields[j].getInt(obj);
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
return null;
}
}
結果:
id,0
name,張三
相關推薦
反射獲取物件例項的欄位資訊和欄位值
package bea.com.util; import java.lang.reflect.Field; public class reflectUtil { /** * 反射輸出欄位型別的值 * @param obj
反射獲取物件中屬性的資訊,包括屬性的特性
/********************************************/ 反射獲取物件的屬性資訊 Type T = obj.GetType();//其中obj為一個類的物
通過java反射獲取物件的欄位名和欄位值
直接上Demo: package aaa; import java.lang.reflect.Field; public class test { public static void main(String[] args) throws Exception{ a
獲取Django model中的欄位名和欄位的verbose_name
定義模型: class Game(models.Model): name = models.CharField(u'遊戲名稱',max_length=30) gameid = models.CharField(u'遊戲id',max_length=20)
sql自動獲取有格式的編碼,和欄位新增值
1、根據時間和特殊的字元加自增數獲取值,每天自動更新 SELECT CONCAT('${applyType}',DATE_FORMAT(NOW(),'%Y%m%d'), LPAD(RIGHT((CASE WHEN MAX(a.apply_no) IS NULL THEN '0
Hibernate JPA 根據Java類獲取對應資料庫的表名和欄位名稱
專案中使用 Hibernate JPA, 需求是根據 Entity的java 類,來獲取所有的對應的資料庫欄位。 直接上程式碼。 使用者類,對應資料庫的user表 import org.hibernate.validator.constraints.NotBlank;
SQLServer學習筆記 --- 如何獲取檢視 view 的欄位名和欄位型別
wechat:812716131 ------------------------------------------------------ 技術交流群請聯絡上面wechat ----------------------------------------------
C# 如何獲取SQL Server 中指定資料表的所有欄位名和欄位型別
如何獲取指定資料表的所有欄位名和欄位型別。SqlConnection.GetSchema方法有2個過載形式,獲取指定資料表的所有欄位名和欄位型別的祕密就在GetSchema (String, String[])的第二個引數中。 定義如下: public override DataTable GetS
獲取資料表的欄位名和欄位註釋
1、oracle: SELECT t1.COLUMN_NAME, t2.COMMENTS FROM user_tab_columns t1, user_col_comment
getDeclaredFields()-Reflection反射-獲取包括父類在內的所有欄位
前言今天Android移動端要加個新功能,所以迴歸Android程式設計師的身份.開發的過程中,發現了之前的程式碼寫的有很多問題,真的應該把時間抽出來重構一下了.其中有反射的一個坑,工具類某方法反射獲取傳入Model的屬性值.但是當我把公共屬性抽出來做基類的時候,發現獲取不到
java通過反射獲取物件的變數和變數值
在java中如果類的成員變數設定為私有的,一般情況下是不允許直接訪問這個變數的,但是有了反射之後,就可以直接獲取該變數的名稱和變數值 1. 訪問成員變數 (1)先定義一個使用者實體類 p
(繼承方式)反射獲取泛型類的型別和物件
1.工具類,用於獲取泛型類的型別和物件public abstract class FatherReflectUtils<T> { public T getTInstance() th
遙感影象處理 | 採用GDAL讀取影象成功後獲取影象的一些基本資訊和統計資訊(C#)
描述資訊: const char* GDALDataset.GetDriver().GetDescription(),通常是影象的格式 影象大小: 影象寬度 int GDALDataset.GetRasterXSize() &nbs
Java反射 獲取Class及Class對應資訊
一.獲取Class的三種方式 Class.forName(String clazzName) 必須指定全限定類名(com.xxx.xxx.Xxx) 呼叫某個類的class屬性獲取Class物件 Object.class 呼叫某個物件的getCl
反射獲取類的 屬性名(name) 和值(value)
1.新建物件user: package com.entity; public class User { private String id; private String name;
查詢資料庫中某表的欄位名和欄位型別
mysql: 1. 查詢資料庫中的所有表:show tables; 2. 查詢表中的欄位名和欄位型別: show columns from table_name(表名); &n
使用FFMpeg 獲取MP3檔案中的資訊和圖片
我們在播放音訊檔案時,如MP3格式的音訊檔案,一些播放器會顯示音樂名稱、專輯名稱、歌手、音樂影象等資訊,如下圖片所示: 下面介紹使用FFMpeg來獲取這些資訊。 使用函式avformat_open_input開啟檔案,結封裝。 使用函式avformat_fi
Java中使用反射獲取一個類的全部資訊
public static void getFunctionAllMessages(String className) throws ClassNotFoundException, InstantiationException, IllegalAccessExcept
利用反射獲取實體類的相關資訊
假設我們現在有一個實體類sys_config 1.獲取該實體的資訊有3種方法: 第一種(通過物件呼叫 getClass() 方法來獲取,通常應用在:比如你傳過來一個 Object 型別的物件,而我不知道你具體是什麼類,用這種方法): // 利用new實體來獲取,
獲取物件屬性的點方法和中括號法的區別
今天寫題的時候遇到用點取不到物件這個問題, 題目大致是這個樣子 console.log($element);//{BranchId: "0003", CHName: "哈哈哈", ShortName: "嘻嘻嘻"} console