-1

I want to do this: Get a type from a name, and the fail a test if the message. I suppose it doesn't work because clazz is not a type. But how do I go about this?

Class<?> clazz=Class.forName("com.android.test."+myEnum.toString());

if(myObj instanceof clazz)
    Assert.fail();
zmarties
  • 4,809
  • 22
  • 39
JohnyTex
  • 3,323
  • 5
  • 29
  • 52
  • 1
    http://stackoverflow.com/questions/949352/is-there-something-like-instanceofclass-c-in-java second google result... – kajacx Mar 05 '14 at 17:44

2 Answers2

2

Use isInstance (http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#isInstance%28java.lang.Object%29):

    Class<?> clazz=Class.forName("java.lang.String");
    String myObj = "string";        
    if(clazz.isInstance(myObj)){
       System.out.println("Its String Class");
    }
pL4Gu33
  • 2,045
  • 16
  • 38
1
Class<?> clazz=Class.forName("com.android.test."+myEnum.toString());

if(clazz.isAssignableFrom(myObj.class))
   Assert.fail();

See its JavaDoc: http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#isAssignableFrom(java.lang.Class)

aliteralmind
  • 19,847
  • 17
  • 77
  • 108