精华内容
下载资源
问答
  • java Object类型转Map

    千次阅读 2018-07-25 11:38:28
    public class ObjectToMap {  /*简单Object转成map*/  public static Map<String,String> toMap(Object o){  Map<String,String> map=new HashMap<String, String>();...

    仅供参考

    @Log4j
    public class ObjectToMap {
        /*简单Object转成map*/
        public static Map<String,String> toMap(Object o){
            Map<String,String> map=new HashMap<String, String>();
            Field[] fields=o.getClass().getDeclaredFields();
            try {
                for (int i=0;i<fields.length;i++) {
                    String name=fields[i].getName();
                    Field field=o.getClass().getDeclaredField(name);
                    field.setAccessible(true);
                    if (null!=field){
                        map.put(name,field.get(o).toString());
                    }
                }
            }catch(Exception e){
                log.error(e.getMessage(),e);
            }
            return map;
        }
        /*复杂Object转成map*/
        public static Map<String, Object> toObjectMap(Object object) {
            Map<String, Object> map = new HashMap<String, Object>();
            toMap(object.getClass(), object, map);
            return map;
        }
        private static void toMap(Class<?> clazz, Object object, Map<String, Object> map) {
            Method[] methods = clazz.getDeclaredMethods();
            if (methods != null && methods.length > 0) {
                for (Method method : methods) {
                    String mname = method.getName();
                    if (mname.startsWith("get") && method.getParameterTypes().length == 0) {
                        try {
                            String fieldName = mname.substring(3, 4).toLowerCase() + mname.substring(4);
                            if ("serialVersionUID".equals(fieldName)) {
                                continue;
                            } else if ("class".equals(fieldName)) {
                                continue;
                            }
                            Object fieldValue = method.invoke(object, null);
                            if (fieldValue != null) {
                                map.put(fieldName, fieldValue);
                            }
                        } catch (IllegalAccessException e) {
                            log.info(e.getMessage(),e);

                        } catch (InvocationTargetException e) {
                            log.info(e.getMessage(),e);
                        } catch (SecurityException e) {
                            log.error(e.getMessage(),e);
                        }
                    }
                }
            }
            if (clazz.getSuperclass() != null) {
                toMap(clazz.getSuperclass(), object, map);
            }
        }

        public static void main(String[] args)throws Exception {
            Tests tests=new Tests(10,"zhangsan");
            ObjectToMap om= new ObjectToMap();
            Map<String,String> map= om.toMap(tests);
            System.out.println(map.toString());
            Map<String,Object> omap= om.toObjectMap(tests);
            System.out.println(omap.toString());
        }

    }
    class Tests{
        private int age;
        private String name;

        public Tests(int age,String name) {
            this.age=age;
            this.name=name;
        }
        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    展开全文
  • java Object类型的参数

    千次阅读 2017-08-26 07:59:21
    通常提供API函数的时候,会实现多种参数类型,比如:log4j里面获取log对象,可以传string,当然也可以更方便的传class进去自动转string [java] view plain copy print?public static Logger getLogger(String ...

    通常提供API函数的时候,会实现多种参数类型,比如:log4j里面获取log对象,可以传string,当然也可以更方便的传class进去自动转string

    1. public static Logger getLogger(String name)  
    2. {  
    3.     return LogManager.getLogger(name);  
    4. }  
    5.   
    6. public static Logger getLogger(Class clazz)  
    7. {  
    8.     return LogManager.getLogger(clazz.getName());  
    9. }  
        public static Logger getLogger(String name)
        {
            return LogManager.getLogger(name);
        }
    
        public static Logger getLogger(Class clazz)
        {
            return LogManager.getLogger(clazz.getName());
        }

     

     

    1.下面这个例子重载了参数类型为Object,  我们调用的时候传入一个String参数,既满足Object又满足String,结果会如何呢?

    1. public class Overload {  
    2.   
    3.     public static void log(Object o) {  
    4.         System.out.println(”log -object”);  
    5.     }  
    6.       
    7.     public static void log(String o) {  
    8.         System.out.println(”log -string”);  
    9.     }  
    10.       
    11.     public static void main(String[] args) {  
    12.         log(”how”);  
    13.   
    14.     }  
    15. }  
    public class Overload {
    
        public static void log(Object o) {
            System.out.println("log -object");
        }
    
        public static void log(String o) {
            System.out.println("log -string");
        }
    
        public static void main(String[] args) {
            log("how");
    
        }
    }
    

     //输出  log -string

     

    2. 那么下面改掉调用的方法,new出一个String的Object对象来,结果如何呢?

    1. public static void main(String[] args) {  
    2.     Object a = new String(“xx”);  
    3.     log(a);  
    4. }  
      public static void main(String[] args) {
            Object a = new String("xx");
            log(a);
        }

     //输出 log -object

     

    3.好吧,如果不强制指定类型为Object呢?

    1. public static void main(String[] args) {  
    2.     log(new String(“xx”));  
    3. }  
     public static void main(String[] args) {
            log(new String("xx"));
        }

     //输出  log -string

     

     

    总结:在提供Object类型重载的时候,函数还是会根据继承树从下往上找对应的重载实现。

    提供Object类型参数的好处也是明显的,否则 log(Long l),log(Byte b)就全得实现一次了(当然固定类型也是推荐全部实现的,但是对于程序中自定义的类就不好办了,无法提供默认操作)

    看String的valueOf函数就重载了Object参数:

    1. public static String valueOf(Object obj)  
    2. {  
    3.     return obj != null ? obj.toString() : “null”;  
    4. }  
        public static String valueOf(Object obj)
        {
            return obj != null ? obj.toString() : "null";
        }
     

     

    展开全文
  • Java object类型转换为int类型

    千次阅读 2015-08-11 10:41:35
    在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中。

     

    代码:

    Java代码  收藏代码
    1. public ActionForward listjob(ActionMapping mapping, ActionForm form,  
    2.         HttpServletRequest request, HttpServletResponse response)  
    3.         throws Exception {  
    4.     //jobFormbean job=(jobFormbean)form;  
    5.       
    6.     DbManager dbmgr=new DbManager();  
    7.     String  orgid=request.getParameter("orgid");  
    8.     //分页代码开始  
    9.     String page = request.getParameter("curpage");  
    10.     String countsql="select count(*) from ln_job where orgid='"+orgid+"'";  
    11.     int rowcount=dbmgr.rowscount(countsql);  
    12.   
    13.       if (page == null) {  
    14.         page = "1";  
    15.       }  
    16.       if (page.equals("") || page.equals("0")) {  
    17.   
    18.         page = "1";  
    19.       }  
    20.         
    21.        
    22.       PageManager pmg = new PageManager();  
    23.       pmg.setrowsPerPage(15);  
    24.       pmg.setpagenum(Integer.parseInt(page));  
    25.         
    26.         
    27.       pmg.setmaxRowCount(rowcount);  
    28.   
    29.       int rowsStart = pmg.getrowsStart();  
    30.       int rowsEnd = pmg.getrowsEnd();  
    31.       int maxPage = pmg.getmaxPage();  
    32.       int nextpage = pmg.getnextpage(Integer.parseInt(page));  
    33.       
    34.       
    35.       
    36.     //分页代码结束  
    37.       
    38.     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;  
    39.     System.out.println(sql);  
    40.     //System.out.println(sql);  
    41.     rs=dbmgr.getQuery(sql);  
    42.     List<Job> list=new ArrayList<Job>();  
    43.     while(rs.next()){  
    44.         Job og=new Job();  
    45.         og.setJobid(rs.getInt("jobid"));  
    46.         og.setJobname(rs.getString("jobname"));  
    47.         og.setOrgid(rs.getString("orgid"));  
    48.         list.add(og);  
    49.           
    50.     }  
    51.     sql="select orgname from ln_org where orgid='"+orgid+"'order by orgid asc";  
    52.     rs=dbmgr.getQuery(sql);  
    53.     String orgname="";  
    54.     while(rs.next()){  
    55.         orgname=rs.getString(1);  
    56.     }  
    57.     request.setAttribute("currentPage", Integer.parseInt(page));  
    58.     request.setAttribute("nextpage", nextpage);  
    59.     request.setAttribute("maxPage", maxPage);  
    60.     request.setAttribute("list", list);  
    61.     request.setAttribute("orgid",orgid);  
    62.     request.setAttribute("orgname",orgname);  
    63.     return mapping.findForward("list");  
    64. }  

    struts-config.xml中配置

    写道
    <action path="/user/manage/job" name="JobFormbean" scope="request" type="com.hkr.ly.action.job.JobManage" parameter="method"> 
    <forward name="list" path="/dtynwebmain/job/joblist.jsp"/> 
    </action>

    在joblist.jsp页面中

    Java代码  收藏代码
    1. <%  
    2.  int nextpage=(Integer)request.getAttribute("nextpage");  
    3.  int maxPage=(Integer)request.getAttribute("maxPage");  
    4.  int currentPage=(Integer)request.getAttribute("currentPage");  
    5.  int fontpage=0;  
    6.  if(currentPage>1){  
    7.     fontpage=currentPage-1;  
    8. }  
    9.   
    10. %>  

     总结:

     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类型。

    展开全文
  • public static void main(String[] args) { boolean var = true;... foo((Object)var); }public static void foo(Object value) { boolean var = (boolean)value; System.out.println(var); }如上方代码所示,函数
    public static void main(String[] args) {
        boolean var = true;
        foo((Object)var);
    }
    
    public static void foo(Object value) {
        boolean var = (boolean)value;
        System.out.println(var);
    }

    如上方代码所示,函数foo会传递一个Object类型的变量value过来(传递进来的值确实是布尔值,不要问我为什么不直接在foo函数中将Object改为boolean,程序确实必须写Object,并且这个问题不在今天的讨论范围),然后同事在函数中将其强制转换为boolean类型,在eclipse中运行一段时间也确实没什么问题,可今天打包之后发现程序运行到这一行的时候抛了异常,Object cannot be cast to boolean.

    我突然意识到,Object类型的value是一个对象,而boolean是值类型,于是我把boolean换成其对应的包装器类型Boolean,问题完美解决。

    虽然问题是解决了,但是还是不明白为什么在eclipse中测试的时候这段代码能够运行而打包以后就不能运行了?(使用的是Java8)

    展开全文
  • Object objStr = "a"; System.out.println(String.class.isAssignableFrom(objStr.getClass())); Object objInt = 123; System.out.println(Integer.class.isAssignableFrom(objInt.getClass())); Object objlong ...
  • Java Object转Long

    千次阅读 2017-08-07 17:58:21
    Java Object转Long 类型转换
  • java Object转换成指定的类型

    千次阅读 2019-10-05 07:06:41
    java Object转换成指定的类型 /** * Object转成指定的类型 * @param obj * @param type * @param <T> * @return */ public static<T> T convert(Object obj, Cla...
  • Java中Object转Map类型,Map转Object类型

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

    千次阅读 2014-03-04 17:00:55
    Java中Object转化为int类型 页面间通过application 传值 ...Java中由Object类型转化为int类型时,不能直接转化,先是将Object类型转化成String类型,然后将String类型转化为int类型! Object value=null;
  • java Object数组转为int类型数组

    千次阅读 2019-10-11 11:59:27
    1.以后应该尽量使用封装类型 具体的实现使用Arrays.copyofRange()进行拷贝 //上面的代码省略 Integer[] a = new Integer[6]; Object[] array = set.toArray(); //这里会生成一个Object[] a = Arrays.copyOfRange...
  • javaObject类型怎样转换成long类型

    千次阅读 2011-05-11 12:10:00
    javaObject类型怎样转换成long类型的 急求。。。。
  • javaObject类型转换成double类型

    千次阅读 2017-10-27 17:47:00
    javaObject类型转换为double类型: Map&lt;String,Object&gt; map = new HashMap&lt;String,Object&gt;(); map.put("order",1.245); BigDecimal order = (BigDecimal)map.get("...
  • Java Object

    千次阅读 2018-06-04 14:59:54
    Object类位于java.lang包,是所有Java类的祖先。Java中的每个类都是由这个类扩展而来。定义Java类时如果没有显式的指明父类,那么就默认继承了Object类。public class Demo {//默认继承了Object类  //... }在Java中...
  • java object

    千次阅读 2008-06-14 20:41:00
    Java中有这样一个类,它是所有类的祖先,任何类都是其子孙类,它就是java.lang.Object,如果一个类没有显式地指明其父类,那么它的父类就是Object。如同我们称自己为炎黄子孙一样,所有的类都可以称为Object子孙,...
  • javaObject类型转换成double,int类型

    万次阅读 2018-08-28 10:08:17
    import java.math.BigDecimal; BigDecimal balance =(BigDecimal)getbalance_Map.get(“balance”); balance.intValue();转int int intBalance=balance==null?0:balance.intValue(); balance.doubleValue();转...
  • java中将Object类型转换成String类型

    万次阅读 2019-05-09 11:51:44
    1.String.valueOf(Object) 从下图(a图)的String类的valueOf(Object)的源码可以看到,当传入的值为null的时候返回的是“null”字符串,而不是null,所以在这里如果想判断这个string的值不为空的时候,应该用字段串...
  • java Object数组

    千次阅读 2019-09-18 07:02:35
    Object数组(可以存储不同类型数据) Object[] a= {1001,"ad",12,"qwd"};Object[][] aa=new Object[3][];并且能使用Arrays.toString()等方法进行数组工具操作
  • * 使用Jaxb2.0实现XML<->Java Object的Binder. * * @author 孙祖强 */ public class JaxbBinder { //多线程安全的Context. private JAXBContext jaxbContext; /** * @param types 所有需要序列...
  • JavaObject转化为int类型

    千次阅读 2018-12-07 10:29:24
    Java中由Object类型转化为int类型时,不能直接转化,先是将Object类型转化成String类型,然后将String类型转化为int类型! Object object=null; Integer.parseInt(String.valueOf(object)); 这就是将Object类型...
  • java日期格式的Object类型转换成String类型的方法 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 转换思路: * 当遇到从...
  • Java Object类方法

    万次阅读 2018-10-22 11:28:56
    基本描述:  (1)Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入;...可以使用类型Object的变量指向任意类型的对象 Object的主要方法介绍: 1 2 3 4...
  • java Object 转换为 Long

    万次阅读 2018-10-23 20:15:55
    java 语言中,Object 类型转换为 Long 类型,先将 Object 类型转换为 String,再将 String 转换为 Long,代码如下 Object obj = new Object(); long l = Long.valueOf(String.valueOf(obj)); 或 Object obj ...
  • javaObject类型转换为long

    万次阅读 2011-07-12 14:22:42
    强制在前面加long会报错,可以采用下面的办法Object o = new Object();long l = Long.valueOf(String.valueOf(o)).longValue();
  • import java.text.MessageFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Date;... * @author 课时二 :类型转换 * */ public class TypeConvert { public sta...
  • JavaObject类型转Long

    千次阅读 2019-06-06 23:00:39
    String status = jsonObject.get(“status”).toString(); Long status_long = Long.valueOf(status);
  • java中判断Object对象类型

    千次阅读 2019-04-21 11:46:31
    java中判断Object对象类型
  • 我最近在看一个spring的代码...最后如果在class是很多种的情况下,对object进行类型转换,然后添加对象进入数组? 我想到的方法是写一个泛型方法。不知道可行不,还没试(白天没空), 麻烦各位给些指导和意见

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 935,465
精华内容 374,186
关键字:

javaobject类型

java 订阅