Java判断数据类型及方法是否相同

需求

  1. 我从SOLR查询中获取一个数据一,已知数据类型,是string或者int 或者其他
  2. 我有一个方法(set方法),只有一个参数,但是我不知道参数的数据类型,可能是string 或者int 或者其他
  3. 使用反射
  4. 我要判断这两个参数类型 是否相同,或者得到他们具体的类型是什么,请问如何做。

解决

  1. 如果你得到是一个Object对象,可以用if(obj instanceof String)来判断是否是String对象,int是基本类型不可以这么判断,只能用它的包装类Integer,同样用instanceof
  2. 如果set方法只能接受一个参数,而且必须有int的话,可以写多个set方法,如set(String),set(int),编写不同的处理逻辑
  3. instanceof 也是反射的一种方式
  4. 如果有2个Object的参数,可以用if(obj1.getClass()==obj2.getClass())来判断类型是否相同,如果要得到类型名,可以用obj.getClass().getName()来获得对象的类名

猜你喜欢

转载自blog.csdn.net/u012206617/article/details/126185465
今日推荐