Finding Out of what Class an Object is Instantiated


This code example shows how to determine the Class of an Object instance.
There is a method called checkObjectClass which takes an Object as input parameter and first uses instanceof to check whether object is of type Vector or ArrayList.
If none of those classes match, the name of the class is determined by calling the getClass() method which returns the name of the class as a String.
The checkObjectClass() method is called four times with different arguments from the constructor, with an instance of Vector, ArrayList, String and Integer.


import java.util.ArrayList;
import java.util.Vector;
/**
 * Main.java
 *
 * @author www.javadb.com
 */

public class Main {
    
    /**
     * Constructor
     */

    public Main() {
        
        checkObjectClass(new Vector());
        checkObjectClass(new ArrayList());
        
        checkObjectClass("Test String");
        checkObjectClass(new Integer(1));
        
    }
    
    /**
     * Checks what type of class the object parameter is instantiated from.
     *
     * @param testObject The object
     */

    public void checkObjectClass(Object testObject) {
        
        if (testObject instanceof Vector)
            System.out.println("Object was an instance of the class java.util.Vector");
        else if (testObject instanceof ArrayList)
            System.out.println("Object was an instance of the class java.util.ArrayList");
        else
            System.out.println("Object was an instance of the " + testObject.getClass());
        
    }
    
    /**
     * Starts the program
     *
     * @param args the command line arguments
     */

    public static void main(String[] args) {
        new Main();
    }
}


The output from the code above looks like this:


Object was an instance of the class java.util.Vector
Object was an instance of the class java.util.ArrayList
Object was an instance of the class java.lang.String
Object was an instance of the class java.lang.Integer





   What kind of Java example would you like to see on this site?

   
     E-mail (optional)