Java判断Class变量是什么类型

时间:2023-03-09 03:08:29
Java判断Class变量是什么类型
    public static void main(String[] args) {
java.util.Date date_u = new java.util.Date(1);
java.sql.Date data_s = new java.sql.Date(1);
Class<? extends java.util.Date> c_d_u = date_u.getClass();
Class<? extends java.sql.Date> c_d_s = data_s.getClass(); // 使用java.lang.Class.isAssignableFrom判断(推荐)
System.out.println(java.sql.Date.class.isAssignableFrom(c_d_u));
System.out.println(java.sql.Date.class.isAssignableFrom(c_d_s));
// 使用className判断
System.out.println(java.sql.Date.class.getName().equals(c_d_u.getName()));
System.out.println(java.sql.Date.class.getName().equals(c_d_s.getName()));
}

执行结果:

false
true
false
true