最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java基于反射得到對象屬性值的方法

 更新時間:2017年03月27日 09:38:47   作者:ITshu  
這篇文章主要介紹了java基于反射得到對象屬性值的方法,結合實例形式分析了java基于反射獲取對象屬性值的相關實現(xiàn)方法與操作技巧,需要的朋友可以參考下

本文實例講述了java基于反射得到對象屬性值的方法。分享給大家供大家參考,具體如下:

通過反射機制得到對象中的屬性和屬性值 在對象中private沒問題,在別的類中有時會報異常。下面的例子是在本對象中

/**
* Engine entity. @author MyEclipse Persistence Tools
*/
public class Engine implements java.io.Serializable {
 // Fields
 private Long engineId;
 private String engineName;
 private String engineType;
 // Constructors
 /** default constructor */
 public Engine() {
 }
 /** minimal constructor */
 public Engine(Long engineId) {
 this.engineId = engineId;
 }
 public Engine(String engineName, String engineType) {
 this.engineName = engineName;
 this.engineType = engineType;
 }
 /** full constructor */
 public Engine(Long engineId, String engineName, String engineType) {
 this.engineId = engineId;
 this.engineName = engineName;
 this.engineType = engineType;
 }
 // Property accessors
 public Long getEngineId() {
 return this.engineId;
 }
 public void setEngineId(Long engineId) {
 this.engineId = engineId;
 }
 public String getEngineName() {
 return this.engineName;
 }
 public void setEngineName(String engineName) {
 this.engineName = engineName;
 }
 public String getEngineType() {
 return this.engineType;
 }
 public void setEngineType(String engineType) {
 this.engineType = engineType;
 }
public static void main(String[] args) throws Exception {
 Engine m = new Engine("汽車","發(fā)動機");
 Class clazz = m.getClass();
 Field[] f = clazz.getDeclaredFields();
 String[] name = field2Name(f);
 Object[] value = field2Value(f, m);
 showNameAndValue(name, value);
 }
 public static void showNameAndValue(String[] name, Object[] value) {
 for (int i = 0; i < name.length; i++) {
  System.out.println("--" + i + "--");
  System.out.println("name:" + name[i]);
  System.out.println("Value:" + value[i]);
  System.out.println("--   --");
 }
 }
 public static String[] field2Name(Field[] f) {
 String[] name = new String[f.length];
 for (int i = 0; i < f.length; i++) {
  name[i] = f[i].getName();
 }
 return name;
 }
 public static Object[] field2Value(Field[] f, Object o) throws Exception {
 Object[] value = new Object[f.length];
 for (int i = 0; i < f.length; i++) {
  value[i] = f[i].get(o);
 }
 return value;
 }
}

如果想調用private的屬性的屬性值,則要調用他的get方法了具體做法是:

把field2Value方法改為如下方式,這樣在別的類中也可以得到private的屬性值了

public static Object[] field2Value(Field[] fields, Object o) throws Exception {
 Object[] values = new Object[fields.length];
 Class classType = o.getClass();
 for (int i = 0; i < fields.length; i++) {
  String fieldName = fields[i].getName();
  String firstLetter = fieldName.substring(0, 1).toUpperCase();
  String getMethodName = "get" + firstLetter + fieldName.substring(1);
  Method getMethod = classType.getMethod(getMethodName, new Class[] {});
  values[i] = getMethod.invoke(o, new Object[] {});
 }
 return values;
}

更多java相關內容感興趣的讀者可查看本站專題:《java日期與時間操作技巧匯總》、《Java圖片操作技巧匯總》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》及《Java數(shù)據(jù)結構與算法教程》。

希望本文所述對大家java程序設計有所幫助。

相關文章

  • springboot1.X和2.X中如何解決Bean名字相同時覆蓋

    springboot1.X和2.X中如何解決Bean名字相同時覆蓋

    這篇文章主要介紹了springboot1.X和2.X中如何解決Bean名字相同時覆蓋,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Spring解決依賴版本不一致報錯問題

    Spring解決依賴版本不一致報錯問題

    許多同學經常會遇到依賴版本不一致導致代碼報錯,所以這篇文章就給大家詳細介紹一下Spring解決依賴版本不一致報錯問題,需要的朋友跟著小編一起來看看吧
    2023-07-07
  • MybatisPlus查詢條件空字符串和NULL問題背景分析

    MybatisPlus查詢條件空字符串和NULL問題背景分析

    文章詳細分析了MybatisPlus在處理查詢條件時,空字符串和NULL值的問題,MP 3.3.0及以上版本提供了多種解決方法,包括在Bean屬性上使用注解、全局配置等,推薦使用全局配置的方式來解決這個問題,以避免在SQL查詢中出現(xiàn)不必要的空字符串條件,感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • 詳解springboot接口如何優(yōu)雅的接收時間類型參數(shù)

    詳解springboot接口如何優(yōu)雅的接收時間類型參數(shù)

    這篇文章主要為大家詳細介紹了springboot的接口如何優(yōu)雅的接收時間類型參數(shù),文中為大家整理了三種常見的方法,希望對大家有一定的幫助
    2023-09-09
  • Java如何使用elasticsearch進行模糊查詢

    Java如何使用elasticsearch進行模糊查詢

    這篇文章主要介紹了Java如何使用elasticsearch進行模糊查詢,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • springBoot項目中的static和templates文件夾的使用

    springBoot項目中的static和templates文件夾的使用

    本文主要介紹了springBoot項目中的static和templates文件夾的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • SpringBoot FailureAnalyzer實例使用教程

    SpringBoot FailureAnalyzer實例使用教程

    FailureAnalyzer是一種在啟動時攔截exception并將其轉換為human-readable消息的好方法,包含在故障分析中。SpringBoot為application context相關的exceptions,JSR-303驗證等提供了這樣的分析器,實際上很容易創(chuàng)建自己的
    2022-12-12
  • Springboot通過Scheduled實現(xiàn)定時任務代碼

    Springboot通過Scheduled實現(xiàn)定時任務代碼

    這篇文章主要介紹了Springboot通過Scheduled實現(xiàn)定時任務代碼,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • java中使用sax解析xml的解決方法

    java中使用sax解析xml的解決方法

    本篇文章介紹了,在java中使用sax解析xml的解決方法。需要的朋友參考下
    2013-05-05
  • JavaFX實現(xiàn)石頭剪刀布小游戲

    JavaFX實現(xiàn)石頭剪刀布小游戲

    這篇文章主要為大家詳細介紹了JavaFX實現(xiàn)石頭剪刀布小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評論

田东县| 连江县| 四子王旗| 墨竹工卡县| 四川省| 重庆市| 石河子市| 读书| 濮阳县| 乌鲁木齐县| 隆尧县| 洛浦县| 枣庄市| 楚雄市| 同江市| 湖北省| 中西区| 布尔津县| 周口市| 武胜县| 五莲县| 田阳县| 大冶市| 亳州市| 雅江县| 清远市| 奉新县| 长泰县| 兴文县| 和静县| 栖霞市| 天祝| 汉中市| 万源市| 婺源县| 静海县| 旬阳县| 缙云县| 裕民县| 延寿县| 宁明县|