Is there a way to output the java data type to the console?

后端 未结 5 1211
灰色年华
灰色年华 2021-01-31 15:02

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

5条回答
  •  滥情空心
    2021-01-31 15:56

    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.

提交回复
热议问题