应该没有判断两个类是否相同的方法。
1、如果说两个对象的判断可以使用 equals,或者 ==。
2、如果判断对象是否某个类 可以使用 instanceof ,isInstance
3、如果两个类的比较 可以使用 isAssignableFrom,但只能得到是否是自身或者子类的结果,不能完全确定是否相同。
判断类是否相同需要判断是否是某类的实例,然后再判断是否className相同。下面给你代码你试试。
System.out.println(str instanceof Timestamp && str.getClass().getName() == Timestamp.class.getName());
你这里用的是Object,很难直接处理。可以放在try catch里强转,如果没有转换异常则是想要的类型,如果有则不是。
Timestamp ts = (Timestamp)str;