判断Object中数据类型(已知类型、未知类型)) 向右看齐 2023-10-06 09:18 5阅读 0赞 ## 一、已知数据类型 ## 接收到的数据类型为Object,如果知道数据的类型可以使用`ObjectMapper`进行处理,得到里面的参数。 import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.util.HashMap; public class Test02 { public static void main(String[] args) throws IOException { String str = "{\"one\":\"yes\",\"key\":\"value\"}"; ObjectMapper mapper = new ObjectMapper(); HashMap hashMap = mapper.readValue(str, HashMap.class); System.out.println(hashMap.toString()); } } ## 二、未知数据类型 ## 假如,不清楚数据类型,或者接收到的数据类型有很多种,这样就需要对接收到的数据,按类型进行分类处理,这就要求对接收到的数据类型进行判断。 #### 方法一、`equals`进行判断 #### HashMap<String, String> hashMap = new HashMap<>(); Object object = (Object)hashMap; if (HashMap.class.equals(object.getClass())){ System.out.println("true"); } #### 方法二、`instanceof`进行判断 #### 测试一个对象obj是否为一个类的实例;obj必须为引用类型,不能是基本类型;obj为null,则返回false。 HashMap<String, String> hashMap = new HashMap<>(); Object obj = (Object)hashMap; if (obj instanceof HashMap){ System.out.println("True"); } #### 方法三、通过`class`获取类型 #### HashMap<String, String> hashMap = new HashMap<>(); Object object = (Object)hashMap; String simpleName = object.getClass().getSimpleName(); if ("HashMap".equals(simpleName)){ System.out.println("True"); }
还没有评论,来说两句吧...