不用 instanceof operator 或 the isInstance() method 怎样测出某个instance是不是某个class的instance Your idea is appreciated
p*e
2 楼
call getClass().getName() and compare to class name This may work only for public classes
【在 o****h 的大作中提到】 : 不用 instanceof operator 或 the isInstance() method : 怎样测出某个instance是不是某个class的instance : Your idea is appreciated
b*o
3 楼
SomeClass obj; Object param; try{ obj = (SomeClass) param; System.out.println("Yes, it is a instance of SomeClass"); }catch(ClassCastException e){ System.out.println("No, it isn't."); }
【在 o****h 的大作中提到】 : 不用 instanceof operator 或 the isInstance() method : 怎样测出某个instance是不是某个class的instance : Your idea is appreciated
o*h
4 楼
//要求做成一个method, 于是,偶这样 class Collie extends Dog{ public boolean isa(String className){ //需要全路径,如java.lang.Object Collie param=new Collie(); try { Class SomeClass = Class.forName(className); // System.out.println(SomeClass); Object obj = SomeClass.newInstance(); obj=(SomeClass)param; // 这里总是有问题呢,该怎么办 ??? return true;} catch(Exception e){return false;} } } 另外一种方法倒是没问题,并且不必输入全路径,但好像烦了很多 class Collie extends Dog{ public boolean isa(String className){
【在 b**o 的大作中提到】 : SomeClass obj; : Object param; : try{ : obj = (SomeClass) param; : System.out.println("Yes, it is a instance of SomeClass"); : }catch(ClassCastException e){ : System.out.println("No, it isn't."); : } :