精华内容
下载资源
问答
  • beginner Graphics – Lessons系列之材质了解Materials[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之材质了解Materials 既上一篇分享了中文字幕灯光介绍Lights后,本篇分享一下第3个已完工...

    [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之材质了解Materials

    [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之材质了解Materials 既上一篇分享了中文字幕的灯光介绍Lights后,本篇分享一下第3个已完工 ...

    rest版的webservice

    为了学习app做打算 今天就自学了下webservice,rest应该是其中一种 还有种就是soap,目前就先举个rest的demo吧 准备ws的jar和spring的jar,如何要连接数据的话就自行 ...

    翻转View

    翻转View by 伍雪颖 CGContextRef context = UIGraphicsGetCurrentContext(); [UIView beginAnimations:nil cont ...

    【爬虫】利用Scrapy抓取京东商品、豆瓣电影、技术问题

    1.scrapy基本了解 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架.可以应用在包括数据挖掘, 信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取(更确切来说,网络抓 ...

    js常用代码

    获取URL ?后的查询参数 function query(name) { var reg = new RegExp("(^|&)" + name + "=([^& ...

    2016/12/20 dplの课练

    1.个人博客的文件,只输出学生姓名 cat 111 |sed 's/[0-9a-zA-Z:/. -]//g' 2.只输出每个学生的url cat 111 |sed 's/.*:\/\///g' 3. ...

    Linux记录-JMX监控Tomcat上传到falcon

    1.登录测试服务器xxxxxx xxxxxx su root输入xxxx 2.先修改Tomcat的启动脚本,(linux下为catalina.sh),添加以下内容: CATALINA_OPTS=&qu ...

    ie11开发者模式打开空白

    Internet选项——高级——取消  禁用脚本调试(Internet explorpr)

    uva-10400-搜索

    题意:题意很简单,就是输入数字,对数字进行加减乘除,然后能不能得到最后的数字. wa了很多次,memcpy(dst,src,sizeof(dst))才对,最后一个参数写错,最后一个参数是要拷贝的字节数 ...

    2-Sixteenth Scrum Meeting-20151216

    任务安排 成员 今日完成 明日任务 闫昊 写完学习进度记录的数据库操作  写完学习进度记录的数据库操作 唐彬 编写与服务器交互的代码  编写与服务器交互的代码 史烨轩 获取视频url   余帆  本地 ...

    展开全文
  • Java获取Object属性值

    千次阅读 2017-08-23 11:41:00
    Java获取Object属性值 做了一个拦截参数需求,需要获取普通参数和对象参数 参数是Object类型,Object[] paramValues = pjp.getArgs(); 1.获取普通参数 for(int i=0;i<paramValues.length;...

    Java获取Object属性值

    做了一个拦截参数的需求,需要获取普通参数和对象参数

    参数是Object类型,Object[] paramValues = pjp.getArgs();

    1.获取普通参数

    for(int i=0;i<paramValues.length;i++){
                accessToken = paramValues[i].toString();
            }

     

    2.获取对象型参数

    for(int i=0;i<paramValues.length;i++){
                 accessToken =  paramValues[i].getClass().getDeclaredField("key").get(paramValues[i]).toString();
            }

     

    posted @ 2017-08-23 11:41 Rest探路者 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • 有些时候你明明知道这个object里面是什么,但是因为种种原因,你不能将它转化成一个对象,只是想单纯地提取出这个object一些东西,这个时候就需要用反射了。假如你这个类是这样:private class User {String ...

    有些时候你明明知道这个object里面是什么,但是因为种种原因,你不能将它转化成一个对象,只是想单纯地提取出这个object里的一些东西,这个时候就需要用反射了。

    假如你这个类是这样的:

    private class User {

    String userName;

    String userPassword;

    public String getUserName() {

    return userName;

    }

    public void setUserName(String userName) {

    this.userName = userName;

    }

    public String getUserPassword() {

    return userPassword;

    }

    public void setUserPassword(String userPassword) {

    this.userPassword = userPassword;

    }

    }

    我们new一个,赋值,向上转型为object

    User user = new User();

    user.setUserName("徐风来");

    user.setUserPassword("1596666");

    Object object = user;

    获取属性名,用一个数组保存起来

    java.lang.reflect.Field[] fields = object.getClass().getDeclaredFields();

    for (java.lang.reflect.Field f : fields) {

    Log.i("xbh", f.getName());

    }

    输出

    12-17 12:02:10.199 22949-22949/com.example.wechat I/xbh: this$0

    12-17 12:02:10.199 22949-22949/com.example.wechat I/xbh: userName

    12-17 12:02:10.199 22949-22949/com.example.wechat I/xbh: userPassword

    12-17 12:02:10.199 22949-22949/com.example.wechat I/xbh: $change

    12-17 12:02:10.199 22949-22949/com.example.wechat I/xbh: serialVersionUID

    可以看到出现了我们定义的两个属性名了,另外3个自带的别管了

    获取属性值,先获取get方法,再通过调用get方法去取

    java.lang.reflect.Method[] method = object.getClass().getDeclaredMethods();//获取所有方法

    for(java.lang.reflect.Method m:method) {

    System.out.println(m.getName());

    if (m.getName().startsWith("get")) {

    Object o = null;

    try {

    o = m.invoke(object);

    } catch (IllegalAccessException | InvocationTargetException e) {

    e.printStackTrace();

    }

    if (o != null && !"".equals(o.toString())) {

    Log.i("xbh", o.toString());

    }

    }

    输出

    12-17 12:09:33.429 29677-29677/com.example.wechat I/xbh: 徐风来

    12-17 12:09:33.429 29677-29677/com.example.wechat I/xbh: 1596666

    那个if语句就是获取get开头的方法

    try里面的invoke就是执行这个方法,把返回值放到o里

    不通过get方法来获取属性值

    java.lang.reflect.Field fi = null;

    //获取属性

    try {

    fi = object.getClass().getDeclaredField("userName");

    }

    catch (NoSuchFieldException e) {

    e.printStackTrace();

    }

    fi.setAccessible(true);

    //设置当前对象对model私有属性的访问权限

    try {

    Log.i("xbh", fi.get(object).toString());

    }

    catch (IllegalAccessException e) {

    e.printStackTrace();

    }

    输出

    12-17 12:17:34.419 4732-4732/com.example.wechat I/xbh: 徐风来

    直接通过getDeclaredField方法就可以获取(注意和上面的getDeclaredFields方法区分)。但是如果你这个属性是私有的,你肯定就访问不到,所以这里把这个属性设置为public(setAccessible)就可以访问了。

    此外如果你获取的是json数据,想解析里面的1个对象不必了,直接转型成map就可以了。

    比如

    {"code":0,"list":[{"userName":"3294727437","userPassword":"xbh1","userAvatar":"https://img1.imgtn.bdimg.com/it/u\u003d37460727\u0026gp\u003d0.jpg"}]}

    你通过jsonarray(“list”)获取了后面的集合,再通过get(i)获取了单个的对象。其实一开始的对象是被转成map了,仔细看看是不是。所以不需要反射获取属性了,直接转型成map就可以取数据了。

    Map map = (Map) u;

    map.get("userAvatar");

    总结

    以上就是本文关于java反射获取一个object属性值代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

    展开全文
  • 转载自 linshutao博客 ... 因为项目需要用到,于是简单封装了一些常用操作: .../** * 根据属性获取属性值 * */ private Object getFieldValueByName(String fieldName, Object o) { 

    转载自

    linshutao博客

    点击打开链接

    因为项目需要用到,于是简单封装了一些常用的操作:

    1. /** 
    2.  * 根据属性名获取属性值 
    3.  * */  
    4.    private Object getFieldValueByName(String fieldName, Object o) {  
    5.        try {    
    6.            String firstLetter = fieldName.substring(01).toUpperCase();    
    7.            String getter = "get" + firstLetter + fieldName.substring(1);    
    8.            Method method = o.getClass().getMethod(getter, new Class[] {});    
    9.            Object value = method.invoke(o, new Object[] {});    
    10.            return value;    
    11.        } catch (Exception e) {    
    12.            log.error(e.getMessage(),e);    
    13.            return null;    
    14.        }    
    15.    }   
    16.      
    17.    /** 
    18.     * 获取属性名数组 
    19.     * */  
    20.    private String[] getFiledName(Object o){  
    21.     Field[] fields=o.getClass().getDeclaredFields();  
    22.         String[] fieldNames=new String[fields.length];  
    23.     for(int i=0;i<fields.length;i++){  
    24.         System.out.println(fields[i].getType());  
    25.         fieldNames[i]=fields[i].getName();  
    26.     }  
    27.     return fieldNames;  
    28.    }  
    29.      
    30.    /** 
    31.     * 获取属性类型(type),属性名(name),属性值(value)的map组成的list 
    32.     * */  
    33.    private List getFiledsInfo(Object o){  
    34.     Field[] fields=o.getClass().getDeclaredFields();  
    35.         String[] fieldNames=new String[fields.length];  
    36.         List list = new ArrayList();  
    37.         Map infoMap=null;  
    38.     for(int i=0;i<fields.length;i++){  
    39.         infoMap = new HashMap();  
    40.         infoMap.put("type", fields[i].getType().toString());  
    41.         infoMap.put("name", fields[i].getName());  
    42.         infoMap.put("value", getFieldValueByName(fields[i].getName(), o));  
    43.         list.add(infoMap);  
    44.     }  
    45.     return list;  
    46.    }  
    47.      
    48.    /** 
    49.     * 获取对象的所有属性值,返回一个对象数组 
    50.     * */  
    51.    public Object[] getFiledValues(Object o){  
    52.     String[] fieldNames=this.getFiledName(o);  
    53.     Object[] value=new Object[fieldNames.length];  
    54.     for(int i=0;i<fieldNames.length;i++){  
    55.         value[i]=this.getFieldValueByName(fieldNames[i], o);  
    56.     }  
    57.     return value;  
    58.    }      
    	/**
    	 * 根据属性名获取属性值
    	 * */
        private Object getFieldValueByName(String fieldName, Object o) {
            try {  
                String firstLetter = fieldName.substring(0, 1).toUpperCase();  
                String getter = "get" + firstLetter + fieldName.substring(1);  
                Method method = o.getClass().getMethod(getter, new Class[] {});  
                Object value = method.invoke(o, new Object[] {});  
                return value;  
            } catch (Exception e) {  
                log.error(e.getMessage(),e);  
                return null;  
            }  
        } 
        
        /**
         * 获取属性名数组
         * */
        private String[] getFiledName(Object o){
        	Field[] fields=o.getClass().getDeclaredFields();
           	String[] fieldNames=new String[fields.length];
        	for(int i=0;i<fields.length;i++){
        		System.out.println(fields[i].getType());
        		fieldNames[i]=fields[i].getName();
        	}
        	return fieldNames;
        }
        
        /**
         * 获取属性类型(type),属性名(name),属性值(value)的map组成的list
         * */
        private List getFiledsInfo(Object o){
        	Field[] fields=o.getClass().getDeclaredFields();
           	String[] fieldNames=new String[fields.length];
           	List list = new ArrayList();
           	Map infoMap=null;
        	for(int i=0;i<fields.length;i++){
        		infoMap = new HashMap();
        		infoMap.put("type", fields[i].getType().toString());
        		infoMap.put("name", fields[i].getName());
        		infoMap.put("value", getFieldValueByName(fields[i].getName(), o));
        		list.add(infoMap);
        	}
        	return list;
        }
        
        /**
         * 获取对象的所有属性值,返回一个对象数组
         * */
        public Object[] getFiledValues(Object o){
        	String[] fieldNames=this.getFiledName(o);
        	Object[] value=new Object[fieldNames.length];
        	for(int i=0;i<fieldNames.length;i++){
        		value[i]=this.getFieldValueByName(fieldNames[i], o);
        	}
        	return value;
        }	
    


    展开全文
  • 主要介绍了Java利用反射获取object的属性代码示例,具有一定借鉴价值,需要朋友可以参考下。
  • java反射获取Object的属性

    千次阅读 2019-06-13 16:40:39
    import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.List;... * 反射处理Bean,得到里面的属性值 * * @author liulinsen * */ public cla...
  • 主要介绍了java反射获取一个object属性值代码解析,具有一定借鉴价值,需要朋友可以参考下。
  • 展开全部 用反射。public static void main(String[] args) throws IllegalArgumentException, ...@25154f CASE_INSENSITIVE_ORDER - java.lang.String$CaseInsensitiveComparator@10dea4e
  • import java.awt.image.BufferedImage; import java.io.File; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; ...import javax.imageio....* 使用java反射获得object对象的属性...
  • 主要讲到把字符串zh_cn转成java驼峰标识的属性,根据指定属性获取传入object对象的zhCn属性的值,关联java反射机制的点用到了获取共有属性和私有属性的区别,getDeclaredField、setAccessible可访问、languageFiled....
  • public class InitializeProperty {public static void setEmpty(Object obj) {try {// 获取实体类的所有属性,返回Field数组Field[] field = obj....// 获取属性的名字String[] modelName = new String[field...
  • /*** 获取对象属性,返回一个字符串数组** @param o 对象* @return String[] 字符串数组*/private static String[] getFiledName(Object o){try{Field[] fields = o.getClass().getDeclaredFields();String[] field...
  • import java.lang.reflect.Field; import java.util.ArrayList;... * 反射处理Bean,得到里面的属性值 * * @author liulinsen * */ public class ReflexObjectUtil { /** * 单个对象所有键值 *
  • java反射机制根据属性获取属性值的操作,属性,对象,反射,访问权限,还可以java反射机制根据属性获取属性值的操作易采站长站,站长之家为您整理了java反射机制根据属性获取属性值的操作相关内容。一、考虑安全...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼/*** 根据属性获取属性值* */private Object getFieldValueByName(String fieldName, Object o) {try {String firstLetter = fieldName.substring(0, 1).toUpperCase()...
  • 有些时候你明明知道这个object里面是什么,但是因为种种原因,你不能将它转化成一个对象,只是想单纯地提取出这个object一些东西,这个时候就需要用反射了。假如你这个类是这样:private class User {String ...
  • 一、考虑安全访问范围内的属性,没有权限访问到的属性不读取/*** 根据属性获取属性值** @param fieldName* @param object* @return*/private String getFieldValueByFieldName(String fieldName, Object object) {...
  • /*** 根据属性获取属性值* */private Object getFieldValueByName(String fieldName, Object o) {try {String firstLetter = fieldName.substring(0, 1).toUpperCase();String getter = "get" + firstLetter + ...
  • Field[] fields = contactItem.getClass().getDeclaredFields();for (Field field : fields) {Method method = ...Object value = null;String name = field.getName();String upperName = name.substring(0, 1).t...
  • 因为项目需要用到,于是简单封装了一些常用操作:/*** 根据属性获取属性值* */private Object getFieldValueByName(String fieldName, Object o) {try {String firstLetter = fieldName.substring(0, 1)....
  • 获取java对象的属性值

    2020-04-01 19:48:50
    目前发现通过reflectAsm获取属性值的效率是最高。远远超越BeanUtils方法 以下通过对象getter方法获取属性值 public static Object getPropertyValue(Object target, String fieldName) { if (target==null ||...
  • 一、考虑安全访问范围内的属性,没有权限访问到的属性不读取/*** 根据属性获取属性值** @param fieldName* @param object* @return*/private String getFieldValueByFieldName(String fieldName, Object object) {...
  • java中我们常用到写文件,那我们怎么样获取一直对象的属性名称、、类型 /** * 根据属性获取属性值 * */ private Object getFieldValueByName(String fieldName, Object o) { try { String first...
  • 代码/*** @功能描述:顺序获取javaBean中的属性和对应的值,并格式化为"'','',...'',''"*/public static String getFieldValueByName(Object obj) {StringBuffer valueStr = new StringBuffer();Field fields[] = obj...
  • 获取实体所有可见属性值以下代码提供了两种实现,一种是基于List,一种是基于Map; 基于List实现更节省内存,更高效一些;如果你有其它特殊需求,可以根据实际参考以下代码进行扩展,或许有需要用到Map情况呢...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 502
精华内容 200
关键字:

java获取object属性的值

java 订阅