判断Object对象属性的类型

时间:2025-01-25 07:27:56

博客来源:

定义了一个Map<String,Object>的map对象,结果取值时发现 data数据的类型变为BigDecimal,因类型转换异常而报错……

Map<String,Object> map = new HashMap<>();
Double d =  0.008627544001008342;
("data",d);
Object data = ("data");

编写一个判断类型的类,并进行相应转换,这是一个简洁的方法,可拿去使用,下面有我的方法

/**
 * @Method:返回相应类型的标识
 * Boolean  Byte    Character   Short    Integer     Long       Float       Double
 * 1        2       3           4       5           6           7           8
 * String   Date    Array       Map      List       BigDecimal  BigInteger  Stack
 * 9        10      11          12      13          14          15          16
 * @param obj 需要判断类型的值
 */
public void judgeType(Object obj){
    if (obj instanceof Boolean){
        //进行你的逻辑处理
    }else if (obj instanceof Byte){
    }else if (obj instanceof Character){
    }else if (obj instanceof Short){
    }else if (obj instanceof Integer){
    }else if (obj instanceof Long){
    }else if (obj instanceof Float){
    }else if (obj instanceof Double){
    }else if (obj instanceof String){
    }else if (obj instanceof Date){
    }else if (obj instanceof Array){
    }else if (obj instanceof Map){
    }else if (obj instanceof List){
    }else if (obj instanceof BigDecimal){
    }else if (obj instanceof BigInteger){
    }else if (obj instanceof Stack){

    }
}

我的使用方法————建议看看,实用干货

请移步————> java类的转换工具类,泛型的使用

请移步————> java类的转换工具类,泛型的使用

请移步————> java类的转换工具类,泛型的使用