精华内容
下载资源
问答
  • 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类型。

    展开全文
  • 基本数据类型Object之间是没有关系的 基本数据类型的包装类 例如int 的包装类Integer的父类则是Object public class Test { public static void main(String[] args){ int a = 12; swap(a); }public static ...

    基本数据类型和Object之间是没有关系的

    基本数据类型的包装类 例如int 的包装类Integer的父类则是Object

    public class Test {
      public static void main(String[] args){
           int a = 12;
          swap(a);
      } 
     public static void swap(Object obj) {
         System.out.println(obj);
      }

    }

    正常输出值为:12

    原因:java在寻找最佳匹配方法时无法找到完全匹配的参数时会进行自动提升转换或者其它相应转换

    debug下查看

     

    转载于:https://www.cnblogs.com/xiaotong1223/p/9341046.html

    展开全文
  • Java中Object转换为List类型

    万次阅读 2020-05-19 15:57:33
    此时,需要转换成我们所需要的数据类型进行使用。 类型转换 在类型转换工程,常见的转换方式为强制转换。如(String)map.get(key),(int)map.get(key)等。在是如果接收的类型为List,此时强转(List<Str

    前言

    在很多项目编写过程中会使用Map<?>类型来进行参数的传递。为了能够让更多的类型放入value中,实例化的类型往往是Map<String, Object>来存放数据。
    解析数据的时候map.get(key)所获取到的类型为Object。此时,需要转换成我们所需要的数据类型进行使用。

    类型转换

    在类型转换工程中,常见的转换方式为强制转换。如(String)map.get(key),(int)map.get(key)等。在是如果接收的类型为List,此时强转(List<String>) obj则会报出警告。编译会提示Unchecked cast: 'java.lang.Object' to 'java.util.List<java.lang.String>'编译器的认为强制类型转换并未做类型校验,强制转换并不安全,可能会抛出异常导致程序崩溃。

    治标不治本

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

    转换方法

    这时候可以自己写一个工具类,用来对接收到的Object类型进行转换。以List<String>类型为例。

    public class HAUtils{
    	public static List<String> objToList(Object obj) throw CoreException{
    		List<String> result = new ArrayList<String>();
        	if (obj instanceof ArrayList<?>) {
    	        for (Object o : (List<?>) obj) {
    	            result.add(String.class.cast(o));
    	        }
            }
            return result;
    	}
    }
    

    其中: Java中把一个<?>称为类型通配符。为了表示各种泛型List的父类,可以使用List<?>,意思是元素类型未知的List,它的元素类型可以匹配任何类型。此时只能够get()不能进行add()操作。

    当然,也可以根据这种方法写一个通配类型的转换。

    public class HAUtils{
    	public static <T> List<T> objToList(Object obj, Class<T> cla) throw CoreException{
    		List<T> list = new ArrayList<T>();
        	if (obj instanceof ArrayList<?>) {
    	        for (Object o : (List<?>) obj) {
    	            list.add(cla.cast(o));
    	        }
    	        return list;
            }
            return null;
    	}
    }
    

    要是为list类型就返回实际参数,要是不是就返回空,当然也可以写自己需要的抛错机制。

    使用

    直接调用方法即可。

    HAUtils ha = new HAUtils();
    List<String> = HAUtils.objToList(obj,String.class);
    

    传入String.class,或者int.class
    以上。

    一句话提示:int.class = Integer.TYPE !=Integer.class

    具体的解释可以自行百度。

    展开全文
  • java中Object类型怎样转换成long类型

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

    java中Object类型怎样转换成long类型的
    急求。。。。

    展开全文
  • java中Object转BigDecimal类型工具类

    千次阅读 2021-01-22 17:32:52
    object类型转换主要在意的就是类型的确定,在转换之前通过instanceof关键字来比对数据类型,确认之后进行针对性转换。 常见的类型有:BigDecimal,String,BigInteger,Number; 工具类编写如下 源码 package action...
  • Java中Object转换为int类型或String类型

    千次阅读 2018-04-13 09:35:43
    一、判断Object类型 下面是截取的一个判断Objec的类型,然后给Excel的单元格设置类型和添加值的操作: obj instanceof 类型 Object obj = entityMap.get(j); if (obj instanceof Integer) { cell....
  • java中引用数据类型有哪些?

    万次阅读 多人点赞 2016-07-18 09:45:37
    Java中有俩种数据类型,其中主要有8基本数据类型和引用数据类型,除了8基本数据类型以外都是引用数据类型,8基本数据类型分别是byte,short,int,long,char,boolean,float,double,具体如下:1、boolean:数据值...
  • java中判断Object对象类型

    千次阅读 2017-03-22 11:22:51
    Object param = params.get(i);  if (param instanceof Integer) {  int value = ((Integer) param).intValue();  prepStatement.setInt(i + 1, value);  } else if (param instanceof String) {  
  • java中Object

    万次阅读 多人点赞 2019-05-11 14:54:16
    Object作为所有类的父类,是面向对象学习最重要的一个类。Object类是java默认的提供的一个类,Object类是所有类的父类,也就是说任何一个类的定义的时候如果没有明确的继承一个父类的话,那么它就是Object的子类
  • Object [] parg = {input , //测试数据 "F:\\shuju\\model.txt... 我把tuple类型数据input和String类型数据同时放在object数组,现在我要用数组的input,我怎么能把object类型数据强制转换为tuple类型
  • java中打印数据类型

    千次阅读 2020-11-17 16:34:46
    private static String getType(Object a) { return a.getClass().toString(); } 写法: public class hello { public static void main(String[] args) { byte a1=2; short a2=2; int a3=1; long a4=2L;
  • 如上图,有一个Object数组,数组每个object又是一个个的key-value类型,想要获取key对应的value值,尝试了下强转,一直报错。然后尝试了下如下思路(通过反射),成功的解决了我的问题。 /** * 单个对象的某个...
  • JavaScript数据类型 - Object类型

    千次阅读 2020-09-01 10:20:25
    ECMAScript的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和方法,就可以创建自定义对象,如下所示: var o = new ...
  • JAVA的简单数据类型和复合数据类型

    千次阅读 2013-05-01 20:31:14
    Java的简单数据类型 数据类型 数据类型就是对内存位置的抽象表达。程序员可以利用多种数据类型:某些由编程语言定义,某些由外部库定义,还有些则由程序员来定义。很多编程语言都依赖于特定的计算机类型和对...
  • byte:Java中最小的数据类型,在内存占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个字节(16 bit),取值范围-32768~32717,默认值0 int:整型,用于存储整数,在内存占4个字节,取值...
  • Java基础:Java Date数据类型

    万次阅读 2018-08-14 20:06:26
    Java数据类型中Date数据类型在处理一些日常应用问题常常被人们使用。  然而在使用过程中许多人却没有真正的去了解有关于Java 数据类型中Date数据类型。  通常在这使用某一种数据类型过程中并不一定就会有哦相应...
  • 话说我现在只能理解int void string long 等等基本数据类型呢 List, Object>> 是一个引用数据类型吗 应该如何理解呢
  • ActionScript3.0向Java转换时数据类型的对应关系:ActionScript数据类型Java数据类型nullnullNumberjava.lang.NumberBooleanjava.lang.Number,boolean,java.lang.String
  • 转载自 linshutao博客 ... 因为项目需要用到,于是简单封装了一些常用的操作: .../** * 根据属性名获取属性值 * */ private Object getFieldValueByName(String fieldName, Object o) { 
  • 一、分析基本数据类型的特点,最大值和最小值。 1、 基本类型:int 二进制位数:32 包装类:java.lang.Integer 最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方) 最大值:Integer.MAX_VALUE= 2147483647...
  • Java中八大基本数据类型详解

    万次阅读 2020-12-04 11:06:42
    自从Java发布以来,基本数据类型就是Java语言的一部分,分别是 byte, short, int, long, char, float, double, boolean .当然围绕着这些基本数据类型衍生出来了很多面试题,但是说实话,工作基本用不到
  • Java 基本数据类型存储位置

    万次阅读 2018-11-05 10:48:13
    Java 基本数据类型 及 == 与 equals 方法的区别 ...  Java数据类型分为基本数据类型与引用数据类型...byte:Java中最小的数据类型,在内存占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个字节(16...
  • Java的基本数据类型与转换

    千次阅读 2015-06-17 06:59:48
    1.1 Java为什么需要保留基本数据类型http://www.importnew.com/11915.html 基本数据类型对大多数业务相关或网络应用程序没有太...自从1996年Java发布以来,基本数据类型就是Java语言的一部分,因此Java是双类型的系
  • java Object数据转化为float型数据

    千次阅读 2019-01-17 10:26:39
    float a=Float.parseFloat(b.toString());//b为object类型
  • java Object类型的参数

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

    万次阅读 2011-07-12 14:22:42
    强制在前面加long会报错,可以采用下面的办法Object o = new Object();long l = Long.valueOf(String.valueOf(o)).longValue();
  • public boolean equals(Object obj) { if (obj instanceof Integer) { return value == ((Integer)obj).intValue(); } return false; }
  • Java中Object类之clone()方法详解

    千次阅读 2017-10-16 08:40:40
    Java语言,当对象调用clone()方法时,就会复制已有的对象。clone()方法在根类Object中定义如下。 /** * Class Object is the root of the class hierarchy. Every class has Object as a superclass. * Al....
  • JAVA基本数据类型与引用数据类型

    万次阅读 多人点赞 2016-11-09 09:30:34
    基本数据类型 对象类型 在栈进行分配 在堆进行分配 基本类型之间的赋值是创建新的拷贝 对象之间的赋值只是传递引用 “==”和“!=”是在比较值 “==”和“!=”是在比较两个引用是否...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 678,676
精华内容 271,470
关键字:

java中object数据类型

java 订阅