广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java如何获取对象的资料?_北大青鸟IT学校

作者:邓华发布时间:2021-06-10分类:Java技术浏览:1278


导读:Java是现在流行的编程语言之一,很多企业在开发软件的时候都会使用Java,因此,Java也成为了许多计算机学子必学的编程语言之一。那么,Java如何获取对象的资料?下面惠州北大青鸟老师给大家科普一下Java如何获取对象的资料。

Java是现在流行的编程语言之一,很多企业在开发软件的时候都会使用Java,因此,Java也成为了许多计算机学子必学的编程语言之一。那么,Java如何获取对象的资料?下面惠州北大青鸟老师给大家科普一下Java如何获取对象的资料。

首先需要引入下面两个反射包文件:

import java.lang.reflect.Method; import java.lang.reflect.Field; 代码如下:

  1.     * 根据属性名获取属性值  

  2.      * */  

  3.     private Object getFieldValueByName(String fieldName, Object o) {  

  4.         try {    

  5.             String firstLetter = fieldName.substring(0, 1).toUpperCase();    

  6.             String getter = "get" + firstLetter + fieldName.substring(1);    

  7.             Method method = o.getClass().getMethod(getter, new Class[] {});    

  8.             Object value = method.invoke(o, new Object[] {});    

  9.             return value;    

  10.         } catch (Exception e) {    

  11.             log.error(e.getMessage(),e);    

  12.             return null;    

  13.         }    

  14.     }   

  15.       

  16.     /**  

  17.      * 获取属性名数组  

  18.      * */  

  19.     private String[] getFiledName(Object o){  

  20.         Field[] fields=o.getClass().getDeclaredFields();  

  21.         String[] fieldNames=new String[fields.length];  

  22.         for(int i=0;i<fields.length;i++){  

  23.             System.out.println(fields[i].getType());  

  24.             fieldNames[i]=fields[i].getName();  

  25.         }  

  26.         return fieldNames;  

  27.     }  

  28.       

  29.     /**  

  30.      * 获取属性类型(type),属性名(name),属性值(value)的map组成的list  

  31.      * */  

  32.     private List getFiledsInfo(Object o){  

  33.         Field[] fields=o.getClass().getDeclaredFields();  

  34.         String[] fieldNames=new String[fields.length];  

  35.         List list = new ArrayList();  

  36.         Map infoMap=null;  

  37.         for(int i=0;i<fields.length;i++){  

  38.             infoMap = new HashMap();  

  39.             infoMap.put("type", fields[i].getType().toString());  

  40.             infoMap.put("name", fields[i].getName());  

  41.             infoMap.put("value", getFieldValueByName(fields[i].getName(), o));  

  42.             list.add(infoMap);  

  43.         }  

  44.         return list;  

  45.     }  

  46.       

  47.     /**  

  48.      * 获取对象的所有属性值,返回一个对象数组  

  49.      * */  

  50.     public Object[] getFiledValues(Object o){  

  51.         String[] fieldNames=this.getFiledName(o);  

  52.         Object[] value=new Object[fieldNames.length];  

  53.         for(int i=0;i<fieldNames.length;i++){  

  54.             value[i]=this.getFieldValueByName(fieldNames[i], o);  

  55.         }  

  56.         return value;  

  57.     }     

想了解更多关于Java的资讯吗?可以来惠州北大青鸟新方舟校区了解一下。

java3.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表