Methods used to check whether a instance belong to a specific class.
Method 1:
instance of
if (m instanceof TestMain)
Method 2: when we known class name
instance.getClass().getName().equals(classname)
Method 3: when we know a class object
instance.getClass().equals(c)
Code sample:
This code sample will get 4 true return value.
package com.company.test;
public class TestMain {
public static void main(String[] args) {
TestMain m = new TestMain();
System.out.println(m.checkClass1());
System.out.println(m.checkClass21("com.company.test.TestMain"));
System.out.println(m.checkClass22("com.company.test.TestMain"));
System.out.println(m.checkClass3(m.getClass()));
}
public boolean checkClass1() {
TestMain m = new TestMain();
if (m instanceof TestMain) {
return true;
} else {
return false;
}
}
public boolean checkClass21(String classname) {
TestMain m = new TestMain();
if (m.getClass().getName().equals(classname)) {
return true;
} else {
return false;
}
}
public boolean checkClass22(String classname) {
TestMain m = new TestMain();
try {
Class c = Class.forName(classname);
if (m.getClass() == c) {
return true;
} else {
return false;
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public boolean checkClass3(Class c) {
TestMain m = new TestMain();
if (m.getClass().equals(c)) {
return true;
} else {
return false;
}
}
}