精华内容
下载资源
问答
  • 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(")");

    }

    }

    展开全文
  • 转载自 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属性值

    千次阅读 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探路者 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • 在struts1的action类中设置了String类型的变量,int类型的变量,把他们放在request中,在jsp页面获取的时候object类型装换位int类型,(Integer)request.getAttribute("")没错,但是同样的方式转换String类型的变量的...

    在struts1的action类中设置了String类型的变量,int类型的变量,把他们放在request中,在jsp页面获取的时候object类型装换位int类型,(Integer)request.getAttribute("")没错,但是同样的方式转换String类型的变量的时候,报了异常

    java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer,很奇怪request.getAttribute("xx")返回object类型,怎么会报这样的异常呢?

    最后只能把String类型变量转化为int类型,然后才设置request中。

    代码:

    public ActionForward listjob(ActionMapping mapping, ActionForm form,

    HttpServletRequest request, HttpServletResponse response)

    throws Exception {

    //jobFormbean job=(jobFormbean)form;

    DbManager dbmgr=new DbManager();

    String orgid=request.getParameter("orgid");

    //分页代码开始

    String page = request.getParameter("curpage");

    String countsql="select count(*) from ln_job where orgid='"+orgid+"'";

    int rowcount=dbmgr.rowscount(countsql);

    if (page == null) {

    page = "1";

    }

    if (page.equals("") || page.equals("0")) {

    page = "1";

    }

    PageManager pmg = new PageManager();

    pmg.setrowsPerPage(15);

    pmg.setpagenum(Integer.parseInt(page));

    pmg.setmaxRowCount(rowcount);

    int rowsStart = pmg.getrowsStart();

    int rowsEnd = pmg.getrowsEnd();

    int maxPage = pmg.getmaxPage();

    int nextpage = pmg.getnextpage(Integer.parseInt(page));

    //分页代码结束

    String sql="select * from (select jobid,jobname,orgid,row_number() over(order by jobid asc) rn from ln_job where orgid='"+orgid+"' ) where rn>="+rowsStart+" and rn<="+rowsEnd;

    System.out.println(sql);

    //System.out.println(sql);

    rs=dbmgr.getQuery(sql);

    List list=new ArrayList();

    while(rs.next()){

    Job og=new Job();

    og.setJobid(rs.getInt("jobid"));

    og.setJobname(rs.getString("jobname"));

    og.setOrgid(rs.getString("orgid"));

    list.add(og);

    }

    sql="select orgname from ln_org where orgid='"+orgid+"'order by orgid asc";

    rs=dbmgr.getQuery(sql);

    String orgname="";

    while(rs.next()){

    orgname=rs.getString(1);

    }

    request.setAttribute("currentPage", Integer.parseInt(page));

    request.setAttribute("nextpage", nextpage);

    request.setAttribute("maxPage", maxPage);

    request.setAttribute("list", list);

    request.setAttribute("orgid",orgid);

    request.setAttribute("orgname",orgname);

    return mapping.findForward("list");

    }

    struts-config.xml中配置

    写道

    在joblist.jsp页面中

    int nextpage=(Integer)request.getAttribute("nextpage");

    int maxPage=(Integer)request.getAttribute("maxPage");

    int currentPage=(Integer)request.getAttribute("currentPage");

    int fontpage=0;

    if(currentPage>1){

    fontpage=currentPage-1;

    }

    %>

    总结:

    String转换为int类型的方法:

    1. Integer.parseInt([String])

    2.Integer.valueOf([String]).intValue();

    3.Integer.decode([String]):将 String 解码为 Integer。接受通过以下语法给出的十进制、十六进制和八进制数字

    例如:

    int a=Integer.decode("0144"); //八进制转换结果为100

    int b=Integer.decode("123");//十进制转换结果为123

    int c=Integer.decode("0x123");//16进制转换结果为291

    注:Integer.decode([String])加负号也可以转换,不过字符串不能有空格。否则报NumberFormatException异常

    注: 字串转成 Double, Float, Long 的方法大同小异.

    int转换为String类型方法:

    1.String s = String.valueOf(i);

    2.String s = Integer.toString(i);

    3. String s = "" + i;

    不常用的:

    1.Integer.toBinaryString(int i) :以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

    2.Integer.toHexString(int i) :以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。

    3.Integer.toOctalString(int i):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。

    注: Double, Float, Long 转成字串的方法大同小异.

    object类型转换为int类型:

    1.如果object是byte,short,int,char类型生成的,那么不用转换直接赋值就ok了。

    2.如果object是字符串类型生成的,先把object转换为String类型的,再把String类型转换为int类型。

    例如.

    String myInt="123";

    Object os=myInt;

    int b=Integer.parseInt((String)os);//还可以os.toString()

    3.如果object是float,double,long类型生成的,思路和上面一样,先把object转换为相应的数据类型,然后再转换为int类型。

    分享到:

    18e900b8666ce6f233d25ec02f95ee59.png

    72dd548719f0ace4d5f9bca64e1d7715.png

    2011-10-20 11:30

    浏览 38020

    评论

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

    千次阅读 2020-07-31 09:40:11
    在使用Java编程过程中,经常会遇到获取的数据为Object类型,但只是以这种方式传输,实质还是Map类型,此时就涉及到两种类型的相互转换。 强制转换 在类型转换工程中,常见的转换方式为强制转换。如(String)map.get...
  • 今天跟大家分享JAVA高级之反射的知识。一、什么是反射反射就是把Java类中的各个成分映射成一...这种动态获取信息及动态调用对象方法的功能叫Java的反射机制。 1. 反射机制的功能 Java反射机制主要提供了以下功能:...
  • 我想用Object接受参数,然后在方法里反射获得传进来的具体类型,怎麼操作?
  • 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(...
  • Java获取数据类型

    2020-03-06 12:08:16
    获取数据类型可以自己创建一个方法: static String getType(Object a) { return a.getClass().toString(); } 注:本文章只为作者记录笔记,他人查阅仅供参考
  • Java object类型转换为int类型

    千次阅读 2015-08-11 10:41:35
    在struts1的action类中设置了String类型的变量,int类型的变量,把他们放在request中,在jsp页面获取的时候object类型装换位int类型,(Integer)request.getAttribute("")没错,但是同样的方式转换String类型的变量的...
  • JavaObject转换为List类型

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

    千次阅读 2017-08-26 07:59:21
    通常提供API函数的时候,会实现多种参数类型,比如:log4j里面获取log对象,可以传string,当然也可以更方便的传class进去自动转string [java] view plain copy print?public static Logger getLogger(String ...
  • 最近操作数据库,会获取到BigDecimal类型的数据,但是通过mybatis拿到的数据或者从数据总线拿到的数据一般都以Object类型储存,这时需要进行类型转换。因此写了一个Object转BigDecimal类型转换用工具类。 注意点 ...
  • 之前的文章,我们介绍了Java泛型的基本使用,这里我们将深入到编译期...擦除后类型变量将由raw type原始类型来代替,具体地,如果泛型的类型变量上有类型限定,则第一个限定类型即为raw type,否则raw type为Object...
  • JAVA 获取变量类型代码

    千次阅读 2017-01-26 12:01:57
    public class GetTypeDemo { public static String getType(Object o) { return o.getClass().getName().toString(); } public static void main(String[] args) { int i = 1; S
  • Java泛型是伪泛型,会在编译完成时进行类型的擦除,我们无法在运行时获取泛型参数的具体类型(类型擦除会被替换成泛型的限定类型,若没有限定则被替换成Object)。泛型类型擦除到底都擦除了哪些信息,是全部擦除吗?...
  • 如上图,有一个Object数组,数组中每个object又是一个个的key-value类型,想要获取key对应的value值,尝试了下强转,一直报错。然后尝试了下如下思路(通过反射),成功的解决了我的问题。 /** * 单个对象的某个...
  • 作用:在框架中完成一些通用型比较高的代码ResultSetMetaData(结果集元数据):getColumnCount:获取结果集中列项目的个数getColumnType:获取指定列的SQL类型对应于Java中Types类的字段getColumnTypeName:获取指定...
  • 为了获取Java中的Array Object的组件类型,我们使用getComponentType()方法。getComponentType()方法返回表示数组的组件类型的Class。如果该类不是数组类,则此方法返回null。声明-java.lang.Class.getComponentType...
  • Java获取类型方法

    千次阅读 2019-03-18 22:17:31
    /** * * 获取类型方法 * */ public class Change { ... public static String getType(Object o){ //获取变量类型方法 return o.getClass().toString(); //使用Object类型的getClass()方法...
  • java 获取数据类型getClass()

    千次阅读 2017-09-21 09:26:36
    在其他语言编程,都可以直接调用系统函数输出数据类型java只能自己实现; 第一种可以运用getClass(): 使用getClass()是不用引用工具包的,直接调用 public class Text1{ public static String getType(Object...
  • java获取对象类型

    千次阅读 2008-03-25 18:18:00
    public static void main(String args[]) { //String var = "123"; int var = -120; //TODO:判断数据类型 Object param = var; if (param instanceof Integer) { int va
  • 展开全部ArrayList 存放的是一个泛型,所以只能把它当成Object类型来使用所以从思路上来说 你就只能看Object这个62616964757a686964616fe59b9ee7ad9431333337396334类的成员函数Object有一个成员函数getClass() 通过...
  • 这种动态获取类的信息以及动态调用对象的方法的功能来自于java语言的反射(reflection)机制。2.java反射机制主要提供以下四个功能:a)在运行时判断任意一个对象所属的类;b)在运行时构造任意一个类的对象;c)在...
  • 引言众所周知,java泛型最重要的特征是泛型擦除,所有泛型在编译时会转换成Object所以在java中运行时无法获得泛型的类型。但是其实以上的规则是针对方法的内部变量的,如果是其他形式的泛型其实是可以获得内部类型的...
  • // java 获取对象的数据类型 public static String getType(Object object){ String typeName=object.getClass().getName(); // System.out.println("typeName-------" +typeName); // ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,646
精华内容 658
关键字:

java获取object类型

java 订阅