如何判断一个Object数组里的值与一个Class数组的类型是否一一对应

        Class[] cls = new Class[]{int.class, double.class, String.class, BaseUser.class};
        Object[] objs = new Object[]{1, 2d, "abc", new BaseUser()};

怎么判断objs里面的每个值与cls数组的类型都一一对应?

阅读 3.1k
2 个回答

循环,一个一个判断,可使用CLass.isAssignableFrom(Class<?> cls)进行判断。

把Class里的基本类型改为包装类

Class[] cls = new Class[]{Integer.class, Double.class, String.class, BaseUser.class};
Object[] objs = new Object[]{1, 2d, "abc", new BaseUser()};
for (int i=0; i<cls.length; i++) {
     System.out.println(cls[i].equals(objs[i].getClass()));
}
//true
//true
//true
//true
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题