精华内容
下载资源
问答
  • 主要介绍了Java利用反射获取object的属性和值代码示例,具有一定借鉴价值,需要的朋友可以参考下。
  • 1 package com.jf.ftp; 2 3 import java.lang.reflect.Field; 4 import java.lang.reflect.Method; 5 import java.util.ArrayList; 6 import java.util.HashMap; 7 import java.util.List; ...
     1  package com.jf.ftp;
     2 
     3 import java.lang.reflect.Field;
     4 import java.lang.reflect.Method;
     5 import java.util.ArrayList;
     6 import java.util.HashMap;
     7 import java.util.List;
     8 import java.util.Map;
     9 
    10 import org.apache.log4j.Logger;
    11 
    12 public class ObjectUtil {
    13 
    14     private static Logger log = Logger.getLogger(NewFtpUtil.class);
    15     
    16     /**
    17     * 根据属性名获取属性值
    18     * */
    19     private Object getFieldValueByName(String fieldName, Object o) {
    20         try {
    21             String firstLetter = fieldName.substring(0, 1).toUpperCase();
    22             String getter = "get" + firstLetter + fieldName.substring(1);
    23             Method method = o.getClass().getMethod(getter, new Class[] {});
    24             Object value = method.invoke(o, new Object[] {});
    25             return value;
    26         } catch (Exception e) {
    27             log.error(e.getMessage(), e);
    28             return null;
    29         }
    30     }
    31     
    32     /**
    33     * 获取属性名数组
    34     * */
    35     private String[] getFiledName(Object o) {
    36         Field[] fields = o.getClass().getDeclaredFields();
    37         String[] fieldNames = new String[fields.length];
    38         for (int i = 0; i < fields.length; i++) {
    39             System.out.println(fields[i].getType());
    40             fieldNames[i] = fields[i].getName();
    41         }
    42         return fieldNames;
    43     }
    44     
    45     /**
    46     * 获取属性类型(type),属性名(name),属性值(value)的map组成的list
    47     * */
    48     private List getFiledsInfo(Object o) {
    49         Field[] fields = o.getClass().getDeclaredFields();
    50         String[] fieldNames = new String[fields.length];
    51         List list = new ArrayList();
    52         Map infoMap = null;
    53         for (int i = 0; i < fields.length; i++) {
    54             infoMap = new HashMap();
    55             infoMap.put("type", fields[i].getType().toString());
    56             infoMap.put("name", fields[i].getName());
    57             infoMap.put("value", getFieldValueByName(fields[i].getName(), o));
    58             list.add(infoMap);
    59         }
    60         return list;
    61     }
    62     
    63     /**
    64     * 获取对象的所有属性值,返回一个对象数组
    65     * */
    66     public Object[] getFiledValues(Object o) {
    67         String[] fieldNames = this.getFiledName(o);
    68         Object[] value = new Object[fieldNames.length];
    69         for (int i = 0; i < fieldNames.length; i++) {
    70             value[i] = this.getFieldValueByName(fieldNames[i], o);
    71         }
    72         return value;
    73     }
    74 }

     

    转载于:https://www.cnblogs.com/jf8710/p/9657920.html

    展开全文
  • java获取对象类型

    千次阅读 2021-03-09 22:41:46
    public static void main(String args[]) {//String var = "123";...//TODO:判断数据类型Object param = var;if (param instanceof Integer) {int value = ((Integer) param).intValue();System.out.println(...

    public static  void main(String args[]) {

    //String var = "123";

    int var = -120;

    //TODO:判断数据类型

    Object param = var;

    if (param instanceof Integer) {

    int value = ((Integer) param).intValue();

    System.out.println("var ls Integer!");

    System.out.println("var ls value ==" + value);

    } else if (param instanceof String) {

    String s = (String) param;

    System.out.println("var ls String!");

    System.out.println("var ls value ==" + s);

    } else if (param instanceof Double) {

    double d = ((Double) param).doubleValue();

    System.out.println("var ls double!");

    System.out.println("var ls value ==" + d);

    } else if (param instanceof Float) {

    float f = ((Float) param).floatValue();

    System.out.println("var ls float!");

    System.out.println("var ls value ==" + f);

    } else if (param instanceof Long) {

    long l = ((Long) param).longValue();

    System.out.println("var ls long!");

    System.out.println("var ls value ==" + l);

    } else if (param instanceof Boolean) {

    boolean b = ((Boolean) param).booleanValue();

    System.out.println("var ls boolean!");

    System.out.println("var ls value ==" + b);

    } else if (param instanceof Date) {

    Date d = (Date) param;

    System.out.println("var ls Date!");

    System.out.println("var ls value ==" + d);

    }

    //以上代码为获得Object的类型

    }

    展开全文
  • Java中Object转Map类型,Map转Object类型

    万次阅读 2020-07-31 09:40:11
    在使用Java编程过程中,经常会遇到获取的数据为Object类型,但只是以这种方式传输,实质还是Map类型,此时就涉及到两种类型的相互转换。 强制转换 在类型转换工程中,常见的转换方式为强制转换。如(String)map.get...

    前言

    在使用Java编程过程中,经常会遇到获取的数据为Object类型,但只是以这种方式传输,实质还是Map类型,此时就涉及到两种类型的相互转换。

    强制转换

    在类型转换工程中,常见的转换方式为强制转换。如(String)map.get(key),(int)map.get(key)等。但是如果接收的类型为Map,此时强转(Map<String, Object>) obj则会报出警告。

    治标不治本

    很多人会使用@SuppressWarnings(“unchecked”)来解决编辑器中的警告,好看是好看了。但是这用来告诉编译器忽略警告,而警告却实实在在的存在。项目的风险还是存在。

    方法一

    可以使用java.lang.reflect.Field类完成ObjMap之间的相互转换.

    • ObjectMap类型
    //Object转Map
    public static Map<String, Object> getObjectToMap(Object obj) throws IllegalAccessException {
        Map<String, Object> map = new HashMap<String, Object>();
        Class<?> cla = obj.getClass();
        Field[] fields = cla.getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            String keyName = field.getName();
            Object value = field.get(obj);
            if (value == null)
                value = "";
            map.put(keyName, value);
        }
        return map;
    }
    
    • MapObject类型
    //Map转Object
    public static Object getMapToObject(Map<Object, Object> map, Class<?> cla) throws Exception {
        if (map == null)
            return null;
        Object obj = cla.newInstance();
        Class<?> cla = obj.getClass();
        Field[] fields = cla.getDeclaredFields();
        for (Field field : fields) {
            int mod = field.getModifiers();
            if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
                continue;
            }
            field.setAccessible(true);
            if (map.containsKey(field.getName())) {
                field.set(obj, map.get(field.getName()));
            }
        }
        return obj;
    }
    

    通过Field类进行数据类型的转换。

    方法二

    通过BeanUtils工具类进行转换

    //1、map转换为object
    
    public static Object mapToObject(Map<String, Object> map, Class<?> cla)
        throws Exception {
    	if (map == null) 
    		return null;
      Object obj = clas.newInstance();
    	org.apache.commons.beanutils.BeanUtils.populate(obj, map);
    	return obj;
    }
    
    //2、object转换为map
    public static Map<?, ?> objectToMap(Object obj) {
    	if (obj == null) 
    		return null;
    	return new org.apache.commons.beanutils.BeanMap(obj);
    }
    

    总结

    最后,通过调用这两个方法就可以实现Object转Map类型,Map转Object类型。

    展开全文
  • public class ClassUtil {//获取类的方法、返回值和参数public void ClassPrintMethodMessage(Object obj){//获取类型Class cls = obj.getClass();System.out.println("类名:"+cls.getName());//获取类型下面...

    public class ClassUtil {

    //获取类的方法、返回值和参数

    public void ClassPrintMethodMessage(Object obj){

    //获取类类型

    Class cls = obj.getClass();

    System.out.println("类名:"+cls.getName());

    //获取类类型下面所有的方法,包含父类继承过来的方法(只包括public)

    Method[] methods = cls.getMethods();

    //获取类类型下面所有的方法,只包含自己内部的方法(包含私有)

    Method[] decMethods = cls.getDeclaredMethods();

    //循环类类型的所有方法

    for(int i = 0;i

    //获取方法的返回值

    Class returnType = methods[i].getReturnType();

    System.out.print(returnType.getName()+" ");

    //方法名称

    System.out.print(methods[i].getName()+" (");

    //获取返回值参数

    Class[] chars = methods[i].getParameterTypes();

    for(Class c:chars){

    System.out.print(c.getName()+",");

    }

    System.out.println(")");

    }

    ClassPrintFieldMessage(obj);

    }

    //获取类的成员变量

    public void ClassPrintFieldMessage(Object obj){

    Class cls = obj.getClass();

    //获取类的成员变量,包含继承的父类成员变量

    // Field[] fie = cls.getFields();

    //获取类的成员变量,不包含继承的父类成员变量

    Field[] dlFie = cls.getDeclaredFields();

    for (Field f:dlFie) {

    //成员变量类型

    String type = f.getType().getName();

    //成员变量名称

    String name = f.getName();

    System.out.println(type+" "+name);

    }

    }

    //获取类的构造函数

    public void ClassPrintConMessage(Object obj){

    //获取类类型

    Class cls = obj.getClass();

    /*

    获取构造函数

    getConstructors 获取所有构造函数

    getDeclaredConstructors 获取所有私有构造函数(构造函数必须为私有)

    */

    // Constructor[] con = cls.getConstructors();

    Constructor[] con = cls.getDeclaredConstructors();

    for (Constructor c:con) {

    System.out.print(c.getName()+"(");

    Class[] cl = c.getParameterTypes();

    for (Class clss:cl) {

    System.out.print(clss.getName()+",");

    }

    System.out.println(")");

    }

    }

    展开全文
  • 1、值类型Object 直接转换; 2、Object 转值类型采用强制转换; 3、Object 为null时,转换为 包装器类型。 例程: public class object01 { /** * @param args */ public static void main(String[] args...
  • 我想用Object接受参数,然后在方法里反射获得传进来的具体类型,怎麼操作?
  • Java常用类object详解

    2021-02-12 17:16:41
    1.Object概述: 类Object是类层次结构的根类。每个类都使用Object作为超类。所有对象(包括数组)都实现这个类的方法。2.构造方法详细信息:Object只有一个无参构造方法,因为object中没有属性public Object()3.常用...
  • java中将Object类型转换成String类型

    万次阅读 2019-05-09 11:51:44
    1.String.valueOf(Object) 从下图(a图)的String类的valueOf(Object)的源码可以看到,当传入的值为null的时候返回的是“null”字符串,而不是null,所以在这里如果想判断这个string的值不为空的时候,应该用字段串...
  • Java 获取Object中的某个List对象,并获取里面的值 package com.java; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java....
  • java Object类型的参数

    千次阅读 2017-08-26 07:59:21
    通常提供API函数的时候,会实现多种参数类型,比如:log4j里面获取log对象,可以传string,当然也可以更方便的传class进去自动转string [java] view plain copy print?public static Logger getLogger(String ...
  • 本人做法如下:Object date=pagelist.getResult();ArrayList<Jibing> list =(ArrayList<Jibing>)date;//jibing 是实体类if (list != null && list.size() > 0){for (int i = 0; i < list....
  • // java 获取对象的数据类型 public static String getType(Object object){ String typeName=object.getClass().getName(); // System.out.println("typeName-------" +typeName); // ...
  • 发现在request中获取参数时,如果强制转成map类型会有警告提示。在网上搜到下面的代码,提供了三种解决方案。第一种方法:仍然会有警告提示第二种方法:我觉得这个方法是一个相对完整的解决办法。 该方法抛出不少...
  • java反射获取Object的属性和值

    千次阅读 2018-03-23 14:08:08
    import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 反射处理Bean,得到里面的属性值 * * @author liulinsen * *...
  • javaObject转BigDecimal类型工具类

    千次阅读 2021-01-22 17:32:52
    最近操作数据库,会获取到BigDecimal类型的数据,但是通过mybatis拿到的数据或者从数据总线拿到的数据一般都以Object类型储存,这时需要进行类型转换。因此写了一个Object转BigDecimal类型转换用工具类。 注意点 ...
  • 展开全部 用反射。public static void main(String[] args) throws IllegalArgumentException, ...@25154f CASE_INSENSITIVE_ORDER - java.lang.String$CaseInsensitiveComparator@10dea4e
  • Java中的Object

    万次阅读 多人点赞 2019-05-11 14:54:16
    Object作为所有类的父类,是面向对象学习中最重要的一个类。Object类是java默认的提供的一个类,Object类是所有类的父类,也就是说任何一个类的定义的时候如果没有明确的继承一个父类的话,那么它就是Object的子类
  • 下面小编就为大家分享一篇java的JsonObject对象提取值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • JavaObject转换为List类型

    万次阅读 2020-05-19 15:57:33
    解析数据的时候map.get(key)所获取到的类型Object。此时,需要转换成我们所需要的数据类型进行使用。 类型转换 在类型转换工程中,常见的转换方式为强制转换。如(String)map.get(key),(int)map.get(key)等。在是...
  • JavaObject的输出问题

    2021-02-13 02:29:51
    1.Object类类Object是类层次结构的根类。每个类都使用Object作为超类。所有对象(包括数组)都实现这个类的方法。2.Object类的toString()方法public String toString()返回该对象的字符串表示。通常,toString 方法会...
  • java获取Object[]的值

    万次阅读 2018-07-05 17:59:23
    1.新加一个list来接收目标数据List&lt;Object[]&gt; list = new ArrayList&lt;Object[]&gt;();2.循环listfor (int i = 0;...从数组中获取对应的key和value的值Object ob0 = ob[0...
  • Java获取Object属性值

    2017-08-23 11:41:00
    做了一个拦截参数的需求,需要...参数是Object类型,Object[] paramValues = pjp.getArgs(); 1.获取普通参数 for(int i=0;i<paramValues.length;i++){ accessToken = paramValues[i].toString(); } ...
  • javaObject对象转为Map类型数据

    千次阅读 2020-03-30 21:37:47
    根据情况设定获取fid、id和设定子树的方法名。默认的方法名看代码注释。 public class MenuTreeUtils<T> { private List<T> treeList; //获取fid 的方法名 private String getFidMethod = "getFid...
  • java判断object为null

    千次阅读 2021-03-06 22:51:26
    关于类和对象的叙述正确的是:(A ) A.Java 的类分为两大部分:系统定义的类和用户自......NumberUtils判断是否数字,java中验证只能是数字_IT/计算机_专业资料。这里是由株洲科技IT教育,刘力天讲解在java中使用apache...
  • import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 反射处理Bean,得到里面的属性值 * * @author liulinsen * *...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 652,816
精华内容 261,126
关键字:

java获取object类型

java 订阅