I\'m trying to debug a program I inherited. This program contains Strings, array lists and collections, lots of casting between types, and I need to do some String manipulations
Given an instance of any object, you can call it's getClass() method to get an instance of the Class object that describe the type of the object.
Using the Class object, you can easily print it's type name:
Integer number=Integer.valueOf(15);
System.out.println(number.getClass().getName());
This print to console the fully qualified name of the class, which for the example is:
java.lang.Integer
If you want a more concise output, you can use instead:
Integer number=Integer.valueOf(15);
System.out.println(number.getClass().getSimpleName());
getSimpleName() give you only the name of the class:
Integer
Printing the type of primitive variables is a bit more complex: see this SO question for details.