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

Do you know your Java?
Take a Ten-Question-Java-Quiz!

Bookmark and Share




Need help with your Java code? It's secure and confidential.
This is how it works:
Send a detailed description of what you need help with, the more details the better. Also provide a deadline for when it has to be finished. More time means better chance of putting your request into the schedule.

If the request is serious you will shortly receive an email with the price, to which you have to respond if you accept.

Once you have accepted, the work will begin on developing your code by an experienced Java developer. When the code is finished a link to a secure payment will be sent to you.

The source code is then sent to you once the payment is completed.

IMPORTANT! The request needs to be very detailed, else it may be ignored.


Write your detailed request here:

E-mail address: