Miles D Miles D - 7 days ago 5
Java Question

Getting the class name from a static method in Java

How can one get the name of the class from a static method in that class. For example

public class MyClass {
public static String getClassName() {
String name = ????; // what goes here so the string "MyClass" is returned
return name;
}
}


To put it in context, I actually want to return the class name as part of a message in an exception.

Answer

In order to support refactoring correctly (rename class), then you should use either:

 MyClass.class.getName(); // full name with package

or (thanks to @James Van Huis):

 MyClass.class.getSimpleName(); // class name and no more
Comments